matlab中负于穷,穷虫50金! MATLAB的fsolve初值问题

楼主可以使用1stOpt这个软件来求解,相对于matlab求解此类方程时的,1stOpt省去了fsolve需要的初值的问题,而且精度一般都很高。

下面是程序:

Parameter x(1:12);

//Constant

Constant   B = 0.003;

Constant   C = 0.0027;

//ConstStr

ConstStr  H = x1+75*(B+C)+0.5*x11;

ConstStr  alpha1 = 0.5+6*x10-H;

ConstStr  beta1 = H*(0.01-1)+(0.5+6*x10)*(1+0.01);

ConstStr  gamma1 = 0.01*H;

ConstStr  alpha2 =0.15-x10;

ConstStr  beta2 = 0.3;

ConstStr  gamma2 = x10;

ConstStr  alpha3 = 0.3+0.2*x10-x8;

ConstStr  beta3 = x8*(0.1-1)+(0.3+0.2*x10)*(1+0.1);

ConstStr  gamma3 = x6*0.1;

ConstStr  Q = 0.01*(1-x9)+2*x9+0.05*x6;

ConstStr  P = 0.1+0.25*x6;

ConstStr  R = 0.3*(20*B+2*C+x1+x11+0.067*x10);

ConstStr  J = 0.64*(B+x1+0.5*x11+x10);

ConstStr   f1 = 0.05*(2*gamma1/(beta1+sqrt(beta1^2-4*alpha1*gamma1)))-0.1*x1;

ConstStr   f2 = 0.002+0.05*(2*gamma2/(beta2+sqrt(beta2^2-4*alpha2*gamma2)))-Q*x2;

ConstStr   f3 = 0.006+0.02*(2*gamma1/(beta1+sqrt(beta1^2-4*alpha1*gamma1)))-P*x3;

ConstStr   f4 =0.02+0.1*(2*gamma2/(beta3+sqrt(beta3^2-4*alpha3*gamma3)))-(0.01+R/(0.05+x4))*x4;

ConstStr   f5 = 50*x10*x12-(0.06+Q+R/(0.05+x4))*x5;

ConstStr   f6 = 50*x11*x12-(0.06+P+R/(0.05+x4))*x6;

ConstStr   f7 = (0.005+0.06*x8)-0.08*x7;

ConstStr   f8 = x7-2*x8;

ConstStr   f9 = (0.04+2*x8)*(1-x9)/(1.05-x9)-J*x9/(0.05+x9);

ConstStr   f10 = x2-x5;

ConstStr   f11 = x3-x6;

ConstStr   f12 = x4-x5-x6;

Function f1=0;

f2=0;

f3=0;

f4=0;

f5=0;

f6=0;

f7=0;

f8=0;

f9=0;

f10=0;

f11=0;

f12=0;

求出来的x系列的值如下:

x1: -0.00241408292469573

x2: -1.19963721286631E-5

x3: -0.00163511248524538

x4: -0.00164712704345382

x5: -1.19975380217937E-5

x6: -0.00163512908617766

x7: -7.04705240745422E-20

x8: 1.73072251386771E-18

x9: -0.00331312406855758

x10: -0.0122596988050143

x11: -1.65447541443873

x12: -0.000192121359156606

但是楼主注意,这个方程组好像答案不唯一,对于x是否还有别的约束条件呢,楼主可以在看看,这系列值只作为楼主参考。

相关资源:PHP寄生虫繁殖劫持程序V3.0_寄生虫程序-PHP代码类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月5日
下一篇 2021年3月5日

相关推荐