首页 > 解决方案 > 如何在 MATLAB 中使用三次方程求解器求解/优化 9 个非线性方程?

问题描述

我在解决下面的复杂非线性系统时遇到了一些麻烦。logmn 和 logmean 一样。

Excel求解器能够轻松求解系统。我正在更改 Ff、m、n 变量以优化三次方程求解器的结果 (Ff Xfc-Fp x-Fr*m)^2*1000 接近 0) 涉及 cos(θ/3)。但是,MATLAB 没有这样的优化工具。

syms x y z Fr Fp Ff m n k Pr Pp Pf G1 G2 G3 Xfc Xfh Xfn s r L miu

eq1=x+y+z-1==0;
eq2=m+n+k-1==0;
eq3=Fr+Fp-Ff==0;
eq4=m*Fr+Fp*x-Ff*Xfc==0;
eq5=n*Fr+Fp*y-Ff*Xfh==0;
eq6=y*G1*[logmn(Pf,Pr)*logmn(Xfc,m)-x*Pp]-x*G2*[logmn(Pf,Pr)*logmn(Xfh,n)-y*Pp]==0;
eq7=z*G1*[logmn(Pf,Pr)*logmn(Xfc,m)-x*Pp]-x*G3*[logmn(Pf,Pr)*logmn(Xfn,k)-z*Pp]==0;
eq8=Pr-Pf+(8*logmn(Ff,Fr)*miu*L)/(3.14*r^4)==0;
eq9=2*3.14*r*L*s*[G1*[logmn(Pf,Pr)*logmn(Xfc,m)-x*Pp]+G2*[logmn(Pf,Pr)*logmn(Xfh,n)-y*Pp]+G3* 
[logmn(Pf,Pr)*logmn(Xfn,k)-z*Pp]]-Fp==0;

我试过使用 fsolve 和常规求解。但它要么给我想象的结果,要么给我一个空数组。

感谢您的任何意见!

标签: matlabmathnonlinear-optimizationnonlinear-functions

解决方案


推荐阅读