I have 5 nonlinear algebraic equations with many terms, fsolve command is ineffective in solving these nonlinear equations.
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Hi All. I have a system of 5 nonlinear equations that is expected to have three roots (three solutions).
I try to solve these nonlinear equations with fsolve. when I run the code, I get errors, like no solutions found, or fslove stopped prematurely. etc. It does not achieve anysolution, and sometimes achieve only one of the solutions.
Thus I decided to use 5 for loops for initial guesses in the fsolve command to get all the solutions, but running the program in this approach takes too much time. Even after two days, it couldn't solve the system of equations.
Is there a way to solve this problem?I would be grateful if you guide me on how I can solve the system of equations correctly.
for V_DC=1:1:400
for inia=0:0.5:1.5
for inib=0:0.5:1.5
for inic=0:0.5:1.5
for inid=0:0.5:1.5
for inie=0:0.5:1.5
u0=[inia inib inic inid inie]
f_u=@(u)[A1*u(1)^3+B1*u(2)^3+Z1*u(3)^3+D1*u(4)^3+E1*u(5)^3+F1*u(1)^2*u(2)+G1*u(1)^2*u(3)+H1*u(1)^2*u(4)+I1*u(1)^2*u(5)+J1*u(2)^2*u(1)+K1*u(2)^2*u(3)+L1*u(2)^2*u(4)+M1*u(2)^2*u(5)+N1*u(3)^2*u(1)+O1*u(3)^2*u(2)+P1*u(3)^2*u(4)+Q1*u(3)^2*u(5)+R1*u(4)^2*u(1)+S1*u(4)^2*u(2)+T1*u(4)^2*u(3)+V1*u(4)^2*u(5)+Aa1*u(5)^2*u(1)+Ba1*u(5)^2*u(2)+Za1*u(5)^2*u(3)+Da1*u(5)^2*u(4)+Ea1*u(1)*u(2)*u(3)+Fa1*u(1)*u(2)*u(4)+Ga1*u(1)*u(2)*u(5)+Ha1*u(1)*u(3)*u(4)+Ia1*u(1)*u(3)*u(5)+Ja1*u(1)*u(4)*u(5)+Ka1*u(2)*u(3)*u(4)+La1*u(2)*u(3)*u(5)+Ma1*u(2)*u(4)*u(5)+Na1*u(3)*u(4)*u(5)+Oa1*u(1)^2+Pa1*u(2)^2+Qa1*u(3)^2+Ra1*u(4)^2+Sa1*u(5)^2+Ta1*u(1)*u(2)+Va1*u(1)*u(3)+Ab1*u(1)*u(4)+Bb1*u(1)*u(5)+Zb1*u(2)*u(3)+Db1*u(2)*u(4)+Eb1*u(2)*u(5)+Fb1*u(3)*u(4)+Gb1*u(3)*u(5)+Hb1*u(4)*u(5)+Ib1*u(1)+Jb1*u(2)+Kb1*u(3)+Lb1*u(4)+Mb1*u(5)+(P*C41)+(-alfa2*V_DC^2*L_e/(3*2))*(((phi1((1-L_e)/2)*(w0((1-L_e)/2)+phi1((1-L_e)/2)*u(1)+phi2((1-L_e)/2)*u(2)+phi3((1-L_e)/2)*u(3)+phi4((1-L_e)/2)*u(4)+phi5((1-L_e)/2)*u(5)))/(1+q*(w0((1-L_e)/2)+phi1((1-L_e)/2)*u(1)+phi2((1-L_e)/2)*u(2)+phi3((1-L_e)/2)*u(3)+phi4((1-L_e)/2)*u(4)+phi5((1-L_e)/2)*u(5))^s))+4*((phi1(((1-L_e)/2)+(L_e/2))*(w0(((1-L_e)/2)+(L_e/2))+phi1(((1-L_e)/2)+(L_e/2))*u(1)+phi2(((1-L_e)/2)+(L_e/2))*u(2)+phi3(((1-L_e)/2)+(L_e/2))*u(3)+phi4(((1-L_e)/2)+(L_e/2))*u(4)+phi5(((1-L_e)/2)+(L_e/2))*u(5)))/(1+q*(w0(((1-L_e)/2)+(L_e/2))+phi1(((1-L_e)/2)+(L_e/2))*u(1)+phi2(((1-L_e)/2)+(L_e/2))*u(2)+phi3(((1-L_e)/2)+(L_e/2))*u(3)+phi4(((1-L_e)/2)+(L_e/2))*u(4)+phi5(((1-L_e)/2)+(L_e/2))*u(5))^s))+((phi1((1+L_e)/2)*(w0((1+L_e)/2)+phi1((1+L_e)/2)*u(1)+phi2((1+L_e)/2)*u(2)+phi3((1+L_e)/2)*u(3)+phi4((1+L_e)/2)*u(4)+phi5((1+L_e)/2)*u(5)))/(1+q*(w0((1+L_e)/2)+phi1((1+L_e)/2)*u(1)+phi2((1+L_e)/2)*u(2)+phi3((1+L_e)/2)*u(3)+phi4((1+L_e)/2)*u(4)+phi5((1+L_e)/2)*u(5))^s)))
A2*u(1)^3+B2*u(2)^3+Z2*u(3)^3+D2*u(4)^3+E2*u(5)^3+F2*u(1)^2*u(2)+G2*u(1)^2*u(3)+H2*u(1)^2*u(4)+I2*u(1)^2*u(5)+J2*u(2)^2*u(1)+K2*u(2)^2*u(3)+L2*u(2)^2*u(4)+M2*u(2)^2*u(5)+N2*u(3)^2*u(1)+O2*u(3)^2*u(2)+P2*u(3)^2*u(4)+Q2*u(3)^2*u(5)+R2*u(4)^2*u(1)+S2*u(4)^2*u(2)+T2*u(4)^2*u(3)+V2*u(4)^2*u(5)+Aa2*u(5)^2*u(1)+Ba2*u(5)^2*u(2)+Za2*u(5)^2*u(3)+Da2*u(5)^2*u(4)+Ea2*u(1)*u(2)*u(3)+Fa2*u(1)*u(2)*u(4)+Ga2*u(1)*u(2)*u(5)+Ha2*u(1)*u(3)*u(4)+Ia2*u(1)*u(3)*u(5)+Ja2*u(1)*u(4)*u(5)+Ka2*u(2)*u(3)*u(4)+La2*u(2)*u(3)*u(5)+Ma2*u(2)*u(4)*u(5)+Na2*u(3)*u(4)*u(5)+Oa2*u(1)^2+Pa2*u(2)^2+Qa2*u(3)^2+Ra2*u(4)^2+Sa2*u(5)^2+Ta2*u(1)*u(2)+Va2*u(1)*u(3)+Ab2*u(1)*u(4)+Bb2*u(1)*u(5)+Zb2*u(2)*u(3)+Db2*u(2)*u(4)+Eb2*u(2)*u(5)+Fb2*u(3)*u(4)+Gb2*u(3)*u(5)+Hb2*u(4)*u(5)+Ib2*u(1)+Jb2*u(2)+Kb2*u(3)+Lb2*u(4)+Mb2*u(5)+(P*C42)+(-alfa2*V_DC^2*L_e/(3*2))*(((phi2((1-L_e)/2)*(w0((1-L_e)/2)+phi1((1-L_e)/2)*u(1)+phi2((1-L_e)/2)*u(2)+phi3((1-L_e)/2)*u(3)+phi4((1-L_e)/2)*u(4)+phi5((1-L_e)/2)*u(5)))/(1+q*(w0((1-L_e)/2)+phi1((1-L_e)/2)*u(1)+phi2((1-L_e)/2)*u(2)+phi3((1-L_e)/2)*u(3)+phi4((1-L_e)/2)*u(4)+phi5((1-L_e)/2)*u(5))^s))+4*((phi2(((1-L_e)/2)+(L_e/2))*(w0(((1-L_e)/2)+(L_e/2))+phi1(((1-L_e)/2)+(L_e/2))*u(1)+phi2(((1-L_e)/2)+(L_e/2))*u(2)+phi3(((1-L_e)/2)+(L_e/2))*u(3)+phi4(((1-L_e)/2)+(L_e/2))*u(4)+phi5(((1-L_e)/2)+(L_e/2))*u(5)))/(1+q*(w0(((1-L_e)/2)+(L_e/2))+phi1(((1-L_e)/2)+(L_e/2))*u(1)+phi2(((1-L_e)/2)+(L_e/2))*u(2)+phi3(((1-L_e)/2)+(L_e/2))*u(3)+phi4(((1-L_e)/2)+(L_e/2))*u(4)+phi5(((1-L_e)/2)+(L_e/2))*u(5))^s))+((phi2((1+L_e)/2)*(w0((1+L_e)/2)+phi1((1+L_e)/2)*u(1)+phi2((1+L_e)/2)*u(2)+phi3((1+L_e)/2)*u(3)+phi4((1+L_e)/2)*u(4)+phi5((1+L_e)/2)*u(5)))/(1+q*(w0((1+L_e)/2)+phi1((1+L_e)/2)*u(1)+phi2((1+L_e)/2)*u(2)+phi3((1+L_e)/2)*u(3)+phi4((1+L_e)/2)*u(4)+phi5((1+L_e)/2)*u(5))^s)))
A3*u(1)^3+B3*u(2)^3+Z3*u(3)^3+D3*u(4)^3+E3*u(5)^3+F3*u(1)^2*u(2)+G3*u(1)^2*u(3)+H3*u(1)^2*u(4)+I3*u(1)^2*u(5)+J3*u(2)^2*u(1)+K3*u(2)^2*u(3)+L3*u(2)^2*u(4)+M3*u(2)^2*u(5)+N3*u(3)^2*u(1)+O3*u(3)^2*u(2)+P3*u(3)^2*u(4)+Q3*u(3)^2*u(5)+R3*u(4)^2*u(1)+S3*u(4)^2*u(2)+T3*u(4)^2*u(3)+V3*u(4)^2*u(5)+Aa3*u(5)^2*u(1)+Ba3*u(5)^2*u(2)+Za3*u(5)^2*u(3)+Da3*u(5)^2*u(4)+Ea3*u(1)*u(2)*u(3)+Fa3*u(1)*u(2)*u(4)+Ga3*u(1)*u(2)*u(5)+Ha3*u(1)*u(3)*u(4)+Ia3*u(1)*u(3)*u(5)+Ja3*u(1)*u(4)*u(5)+Ka3*u(2)*u(3)*u(4)+La3*u(2)*u(3)*u(5)+Ma3*u(2)*u(4)*u(5)+Na3*u(3)*u(4)*u(5)+Oa3*u(1)^2+Pa3*u(2)^2+Qa3*u(3)^2+Ra3*u(4)^2+Sa3*u(5)^2+Ta3*u(1)*u(2)+Va3*u(1)*u(3)+Ab3*u(1)*u(4)+Bb3*u(1)*u(5)+Zb3*u(2)*u(3)+Db3*u(2)*u(4)+Eb3*u(2)*u(5)+Fb3*u(3)*u(4)+Gb3*u(3)*u(5)+Hb3*u(4)*u(5)+Ib3*u(1)+Jb3*u(2)+Kb3*u(3)+Lb3*u(4)+Mb3*u(5)+(P*C43)+(-alfa2*V_DC^2*L_e/(3*2))*(((phi3((1-L_e)/2)*(w0((1-L_e)/2)+phi1((1-L_e)/2)*u(1)+phi2((1-L_e)/2)*u(2)+phi3((1-L_e)/2)*u(3)+phi4((1-L_e)/2)*u(4)+phi5((1-L_e)/2)*u(5)))/(1+q*(w0((1-L_e)/2)+phi1((1-L_e)/2)*u(1)+phi2((1-L_e)/2)*u(2)+phi3((1-L_e)/2)*u(3)+phi4((1-L_e)/2)*u(4)+phi5((1-L_e)/2)*u(5))^s))+4*((phi3(((1-L_e)/2)+(L_e/2))*(w0(((1-L_e)/2)+(L_e/2))+phi1(((1-L_e)/2)+(L_e/2))*u(1)+phi2(((1-L_e)/2)+(L_e/2))*u(2)+phi3(((1-L_e)/2)+(L_e/2))*u(3)+phi4(((1-L_e)/2)+(L_e/2))*u(4)+phi5(((1-L_e)/2)+(L_e/2))*u(5)))/(1+q*(w0(((1-L_e)/2)+(L_e/2))+phi1(((1-L_e)/2)+(L_e/2))*u(1)+phi2(((1-L_e)/2)+(L_e/2))*u(2)+phi3(((1-L_e)/2)+(L_e/2))*u(3)+phi4(((1-L_e)/2)+(L_e/2))*u(4)+phi5(((1-L_e)/2)+(L_e/2))*u(5))^s))+((phi3((1+L_e)/2)*(w0((1+L_e)/2)+phi1((1+L_e)/2)*u(1)+phi2((1+L_e)/2)*u(2)+phi3((1+L_e)/2)*u(3)+phi4((1+L_e)/2)*u(4)+phi5((1+L_e)/2)*u(5)))/(1+q*(w0((1+L_e)/2)+phi1((1+L_e)/2)*u(1)+phi2((1+L_e)/2)*u(2)+phi3((1+L_e)/2)*u(3)+phi4((1+L_e)/2)*u(4)+phi5((1+L_e)/2)*u(5))^s)))
A4*u(1)^3+B4*u(2)^3+Z4*u(3)^3+D4*u(4)^3+E4*u(5)^3+F4*u(1)^2*u(2)+G4*u(1)^2*u(3)+H4*u(1)^2*u(4)+I4*u(1)^2*u(5)+J4*u(2)^2*u(1)+K4*u(2)^2*u(3)+L4*u(2)^2*u(4)+M4*u(2)^2*u(5)+N4*u(3)^2*u(1)+O4*u(3)^2*u(2)+P4*u(3)^2*u(4)+Q4*u(3)^2*u(5)+R4*u(4)^2*u(1)+S4*u(4)^2*u(2)+T4*u(4)^2*u(3)+V4*u(4)^2*u(5)+Aa4*u(5)^2*u(1)+Ba4*u(5)^2*u(2)+Za4*u(5)^2*u(3)+Da4*u(5)^2*u(4)+Ea4*u(1)*u(2)*u(3)+Fa4*u(1)*u(2)*u(4)+Ga4*u(1)*u(2)*u(5)+Ha4*u(1)*u(3)*u(4)+Ia4*u(1)*u(3)*u(5)+Ja4*u(1)*u(4)*u(5)+Ka4*u(2)*u(3)*u(4)+La4*u(2)*u(3)*u(5)+Ma4*u(2)*u(4)*u(5)+Na4*u(3)*u(4)*u(5)+Oa4*u(1)^2+Pa4*u(2)^2+Qa4*u(3)^2+Ra4*u(4)^2+Sa4*u(5)^2+Ta4*u(1)*u(2)+Va4*u(1)*u(3)+Ab4*u(1)*u(4)+Bb4*u(1)*u(5)+Zb4*u(2)*u(3)+Db4*u(2)*u(4)+Eb4*u(2)*u(5)+Fb4*u(3)*u(4)+Gb4*u(3)*u(5)+Hb4*u(4)*u(5)+Ib4*u(1)+Jb4*u(2)+Kb4*u(3)+Lb4*u(4)+Mb4*u(5)+(P*C44)+(-alfa2*V_DC^2*L_e/(3*2))*(((phi4((1-L_e)/2)*(w0((1-L_e)/2)+phi1((1-L_e)/2)*u(1)+phi2((1-L_e)/2)*u(2)+phi3((1-L_e)/2)*u(3)+phi4((1-L_e)/2)*u(4)+phi5((1-L_e)/2)*u(5)))/(1+q*(w0((1-L_e)/2)+phi1((1-L_e)/2)*u(1)+phi2((1-L_e)/2)*u(2)+phi3((1-L_e)/2)*u(3)+phi4((1-L_e)/2)*u(4)+phi5((1-L_e)/2)*u(5))^s))+4*((phi4(((1-L_e)/2)+(L_e/2))*(w0(((1-L_e)/2)+(L_e/2))+phi1(((1-L_e)/2)+(L_e/2))*u(1)+phi2(((1-L_e)/2)+(L_e/2))*u(2)+phi3(((1-L_e)/2)+(L_e/2))*u(3)+phi4(((1-L_e)/2)+(L_e/2))*u(4)+phi5(((1-L_e)/2)+(L_e/2))*u(5)))/(1+q*(w0(((1-L_e)/2)+(L_e/2))+phi1(((1-L_e)/2)+(L_e/2))*u(1)+phi2(((1-L_e)/2)+(L_e/2))*u(2)+phi3(((1-L_e)/2)+(L_e/2))*u(3)+phi4(((1-L_e)/2)+(L_e/2))*u(4)+phi5(((1-L_e)/2)+(L_e/2))*u(5))^s))+((phi4((1+L_e)/2)*(w0((1+L_e)/2)+phi1((1+L_e)/2)*u(1)+phi2((1+L_e)/2)*u(2)+phi3((1+L_e)/2)*u(3)+phi4((1+L_e)/2)*u(4)+phi5((1+L_e)/2)*u(5)))/(1+q*(w0((1+L_e)/2)+phi1((1+L_e)/2)*u(1)+phi2((1+L_e)/2)*u(2)+phi3((1+L_e)/2)*u(3)+phi4((1+L_e)/2)*u(4)+phi5((1+L_e)/2)*u(5))^s)))
A5*u(1)^3+B5*u(2)^3+Z5*u(3)^3+D5*u(4)^3+E5*u(5)^3+F5*u(1)^2*u(2)+G5*u(1)^2*u(3)+H5*u(1)^2*u(4)+I5*u(1)^2*u(5)+J5*u(2)^2*u(1)+K5*u(2)^2*u(3)+L5*u(2)^2*u(4)+M5*u(2)^2*u(5)+N5*u(3)^2*u(1)+O5*u(3)^2*u(2)+P5*u(3)^2*u(4)+Q5*u(3)^2*u(5)+R5*u(4)^2*u(1)+S5*u(4)^2*u(2)+T5*u(4)^2*u(3)+V5*u(4)^2*u(5)+Aa5*u(5)^2*u(1)+Ba5*u(5)^2*u(2)+Za5*u(5)^2*u(3)+Da5*u(5)^2*u(4)+Ea5*u(1)*u(2)*u(3)+Fa5*u(1)*u(2)*u(4)+Ga5*u(1)*u(2)*u(5)+Ha5*u(1)*u(3)*u(4)+Ia5*u(1)*u(3)*u(5)+Ja5*u(1)*u(4)*u(5)+Ka5*u(2)*u(3)*u(4)+La5*u(2)*u(3)*u(5)+Ma5*u(2)*u(4)*u(5)+Na5*u(3)*u(4)*u(5)+Oa5*u(1)^2+Pa5*u(2)^2+Qa5*u(3)^2+Ra5*u(4)^2+Sa5*u(5)^2+Ta5*u(1)*u(2)+Va5*u(1)*u(3)+Ab5*u(1)*u(4)+Bb5*u(1)*u(5)+Zb5*u(2)*u(3)+Db5*u(2)*u(4)+Eb5*u(2)*u(5)+Fb5*u(3)*u(4)+Gb5*u(3)*u(5)+Hb5*u(4)*u(5)+Ib5*u(1)+Jb5*u(2)+Kb5*u(3)+Lb5*u(4)+Mb5*u(5)+(P*C45)+(-alfa2*V_DC^2*L_e/(3*2))*(((phi5((1-L_e)/2)*(w0((1-L_e)/2)+phi1((1-L_e)/2)*u(1)+phi2((1-L_e)/2)*u(2)+phi3((1-L_e)/2)*u(3)+phi4((1-L_e)/2)*u(4)+phi5((1-L_e)/2)*u(5)))/(1+q*(w0((1-L_e)/2)+phi1((1-L_e)/2)*u(1)+phi2((1-L_e)/2)*u(2)+phi3((1-L_e)/2)*u(3)+phi4((1-L_e)/2)*u(4)+phi5((1-L_e)/2)*u(5))^s))+4*((phi5(((1-L_e)/2)+(L_e/2))*(w0(((1-L_e)/2)+(L_e/2))+phi1(((1-L_e)/2)+(L_e/2))*u(1)+phi2(((1-L_e)/2)+(L_e/2))*u(2)+phi3(((1-L_e)/2)+(L_e/2))*u(3)+phi4(((1-L_e)/2)+(L_e/2))*u(4)+phi5(((1-L_e)/2)+(L_e/2))*u(5)))/(1+q*(w0(((1-L_e)/2)+(L_e/2))+phi1(((1-L_e)/2)+(L_e/2))*u(1)+phi2(((1-L_e)/2)+(L_e/2))*u(2)+phi3(((1-L_e)/2)+(L_e/2))*u(3)+phi4(((1-L_e)/2)+(L_e/2))*u(4)+phi5(((1-L_e)/2)+(L_e/2))*u(5))^s))+((phi5((1+L_e)/2)*(w0((1+L_e)/2)+phi1((1+L_e)/2)*u(1)+phi2((1+L_e)/2)*u(2)+phi3((1+L_e)/2)*u(3)+phi4((1+L_e)/2)*u(4)+phi5((1+L_e)/2)*u(5)))/(1+q*(w0((1+L_e)/2)+phi1((1+L_e)/2)*u(1)+phi2((1+L_e)/2)*u(2)+phi3((1+L_e)/2)*u(3)+phi4((1+L_e)/2)*u(4)+phi5((1+L_e)/2)*u(5))^s)))];
[root,fval,exitflag]= fsolve(f_u,u0)
if isreal(root(1))==1 & isreal(root(2))==1 & isreal(root(3))==1 & isreal(root(4))==1 & isreal(root(5))==1 & exitflag>0
hold on
plot(V_DC,(root(1)*phi1_midpoint+root(2)*phi2_midpoint+root(3)*phi3_midpoint+root(4)*phi4_midpoint+root(5)*phi5_midpoint)*d*1e+6+9,'bo');
end
end
end
end
end
end
end
xlabel('V_DC')
ylabel('W_max')
1 comentario
Respuestas (1)
Sulaymon Eshkabilov
el 6 de Nov. de 2021
Editada: Sulaymon Eshkabilov
el 6 de Nov. de 2021
It is worth to employ here optim options of fsolve(), e.g.: optimoptions() with fmincon, lsqnonlin, fminunc.
See the help doc: https://www.mathworks.com/help/optim/ug/optim.problemdef.optimizationproblem.optimoptions.html
0 comentarios
Ver también
Categorías
Más información sobre Systems of Nonlinear Equations en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!