matlab怎么求解多元非线性方程组,MATLAB求解多元非线性方程组
我想求解一個非常復雜的方程組,原理很簡單,就是解三個方程求出三個未知數a、b、c,但每一個方程都包含exp、log、sqrt函數,不知道能否用MATLAB求出解來,我試著寫了程序,但是運行不出來,我第一次用MATLAB,不知道寫的對不對,請各位高手幫忙解出該方程組來,我有急用,謝謝了~
syms a b c
I=3*a+4*b+3*c;
f=-4*0.377/1.2*I*log(1+1.2*sqrt(I));
f1=-2*0.377*(sqrt(I)/(1+1.2*sqrt(I))+2/1.2*log(1+1.2*sqrt(I)));
B1=-0.03942+0.97225/2/I*(1-(1+2*sqrt(I))*exp(-2*sqrt(I)));
B11=0.97225/2/I/I*(-1+(1+2*sqrt(I)+2*I)*exp(-2*sqrt(I)));
C1=0.0179/sqrt(8);
B2=0.23825+2.9605/0.98/I*(1-(1+1.4*sqrt(I))*exp(-1.4*sqrt(I)))-30.905/72/I*(1-(1+12*sqrt(I))*exp(-12*sqrt(I)));
B21=2.9605/0.98/I/I*(-1+(1+1.4*sqrt(I)+0.98*I)*exp(-1.4*sqrt(I)))-30.905/72/I/I*(-1+(1+12*sqrt(I)+72*I)*exp(-12*sqrt(I)));
C2=0.003;
B3=0.00488+0.4911/2/I*(1-(1+2*sqrt(I))*exp(-2*sqrt(I)));
B31=0.4911/2/I/I*(-1+(1+2*sqrt(I)+2*I)*exp(-2*sqrt(I)));
C3=-0.00116/sqrt(8);
g=(1-(1+2*sqrt(I))*exp(-2*sqrt(I)))/2/I;
g1=(-1+(1+2*sqrt(I)+2*I)*exp(-2*sqrt(I)))/2/I/I;
w=1+(I*f1-f+4*a*(a+b+c)*(B1+I*B11+4*(a+b+c)*C1)+2*b*(a+b+c)*(B2+I*B21+4*(a+b+c)*C2)+4*c*(a+b+c)*(B3+I*B31+4*(a+b+c)*C3))/(3*a+2*b+3*c);
r1=exp(f1+(4/3*a+4/3*(a+b+c))*(B1+2*(a+b+c)*C1)+4/3*c*(B3+2*(a+b+c)*C3)+2/3*b*(B2+2*(a+b+c)*C2)+2*a*(a+b+c)*(2*B11+4/3*C1)+2*c*(a+b+c)*(2*B31+4/3*C3)+b*(a+b+c)*(2*B21+4/3*C2)+8/3*c*(0.125167+1.078184*g)+4/3*b*(2.521475-15.811274*g)+(4/3*c*(a+b+c)+4/6*a*c)*(-0.0080597)+(2/3*b*(a+b+c)+1/3*a*b)*(-1.016358)+1/3*c*b*0.0672253+4*a*c*1.078184*g1+2*a*b*(-15.811274)*g1+2*c*b*10.163009*g1);
r2=exp(2*f1+(b+(a+b+c))*(B2+2*(a+b+c)*C2)+2*a*(B1+2*(a+b+c)*C1)+2*c*(B3+2*(a+b+c)*C3)+2*a*(a+b+c)*(4*B11+2*C1)+b*(a+b+c)*(4*B21+2*C2)+2*c*(a+b+c)*(4*B31+2*C3)+2*a*(2.521475-15.811274*g)+2*c*(-0.0692694+10.163009*g)+(a*(a+b+c)+1/2*a*b)*(-1.016358)+(c*(a+b+c)+1/2*b*c)*0.0672253+a*c*(-0.0080597)+4*a*b*(-15.811274)*g1+4*c*b*10.163009*g1+8*a*c*1.078184*g1);
r3=exp(f1+(4/3*c+4/3*(a+b+c))*(B3+2*(a+b+c)*C3)+4/3*a*(B1+2*(a+b+c)*C1)+2/3*b*(B2+2*(a+b+c)*C2)+2*a*(a+b+c)*(2*B11+4/3*C1)+2*c*(a+b+c)*(2*B31+4/3*C3)+b*(a+b+c)*(2*B21+4/3*C2)+8/3*a*(0.125167+1.078184*g)+4/3*b*(-0.0692694+10.163009*g)+(4/3*a*(a+b+c)+4/6*a*c)*(-0.0080597)+(2/3*b*(a+b+c)+1/3*c*b)*0.0672253+1/3*a*b*(-1.016358)+4*a*c*1.078184*g1+2*a*b*(-15.811274)*g1+2*c*b*10.163009*g1);
eq1=b*r2*(exp(-(3*a+2*b+3*c)*w/55.51))^7-0.076849;
eq2=b*c*r2*r3*(exp(-(3*a+2*b+3*c)*w/55.51))^6-0.012198;
eq3=a*r1*(exp(-(3*a+2*b+3*c)*w/55.51))^10-0.092085;
[a,b,c]=solve(eq1,eq2,eq3,'a,b,c')
總結
以上是生活随笔為你收集整理的matlab怎么求解多元非线性方程组,MATLAB求解多元非线性方程组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 医院物资管理系统
- 下一篇: C语言实现医院诊疗管理系统