Solve systems of 6 non-linear equations
이전 댓글 표시
I am trying to solve a sytem of 6 non-linear equations. I used vpasolve. One solution it gave me is I1=I2, V1=V2, and hence, my deltaT2 is roughly 0. So, I set the starting values of all to 1e-10 so that my deltaT2 will be non-zero. But after around one minute, I got an empty solution. I believe there should be a solution set of values for this system. So I wonder what could go wrong with my code/solution.
To make those equations I am solving more sense, I attached the screenshot I got from this paper below. Equation 2-3 are derived by using two points at t0 and t1 lying on one circle. Equation 4-5 are derived by using two points at t1 and t2 lying on an eclipse.
The only solution I got from my code so far is that V1=V2 and I1=I2. But as you can see, I want V1 and V2 to have different values. I1 and I2 should have differenet values as well.

clear;clc;close all;
%% Parameters
Vin = 400; Lr = 55e-6; Cr = 24e-9; Lm = 280e-6;
Zo = sqrt(Lr/Cr); Vo = 12; n = Vin/2/Vo;
wo = 1/sqrt(Lr*Cr); fo = wo/(2*pi);
Iheavy = 15; Rheavy = Vo/Iheavy;
Ilight = 5; Rlight = Vo/Ilight;
fs = 120e3; Ts = 1/fs;
Vin = 350;
Zr1 = sqrt(Lr/Cr); wr1 = sqrt(1/(Lr*Cr));
Zr2 = sqrt((Lr+Lm)/Cr); wr2 = sqrt(1/((Lr+Lm)*Cr));
R = Rheavy;
syms I1 V1 V2 I2 deltaT1 deltaT2 real
eq1 = I1 + I2 - (n*Vo/Lm)*deltaT1;
eq2 = (V1 - Vin + n*Vo)^2 + (I1*Zr1)^2 - (V2 - Vin + n*Vo)^2 - (I2*Zr1)^2;
eq3 = deltaT1 - (pi-atan(I2*Zr1/(V2-Vin+n*Vo)) + atan(I1*Zr1/(V1+Vin-n*Vo)))/wr1;
eq4 = (V1 - Vin)^2 + (I1*Zr2)^2 - (V2 - Vin)^2 - (I2*Zr2)^2;
eq5 = deltaT2 - (atan(I1*Zr2/(Vin-V1)) - atan(I2*Zr2/(Vin-V2)))/wr2;
eq6 = Vo*(deltaT1 + deltaT2)/(n*R) - (V1+V2)*Cr - ((I1-I2)/2)*deltaT1;
eqs = [eq1,eq2,eq3,eq4,eq5,eq6];
starting_value = [1e-10 Inf; 1e-10 Inf; 1e-10 Inf; ...
1e-10 Inf; 1e-10 Inf; 1e-10 Inf];
[I1,V1,V2,I2,deltaT1,deltaT2] = vpasolve(eqs,[I1,V1,V2,I2,deltaT1,deltaT2],...
starting_value);
result = double([I1,V1,V2,I2,deltaT1,deltaT2])
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!