I have 5 nonlinear algebraic equations with many terms, fsolve command is ineffective in solving these nonlinear equations.

1 回表示 (過去 30 日間)
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 件)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2021 年 11 月 6 日
編集済み: Sulaymon Eshkabilov 2021 年 11 月 6 日
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

カテゴリ

Help Center および File ExchangeSystems of Nonlinear Equations についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by