700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > matlab fsolve 解的范围 【求助】用fsolve解四元非线性方程组 求解参数的范围问题...

matlab fsolve 解的范围 【求助】用fsolve解四元非线性方程组 求解参数的范围问题...

时间:2020-01-02 08:52:13

相关推荐

matlab fsolve 解的范围 【求助】用fsolve解四元非线性方程组 求解参数的范围问题...

求助各位大神,我用fsolve求解了一个四元非线性方程组,方程比较复杂,得到了结果不符合条件。

代码

syms a b c d e g s r t

e=0.2;

g=0.08;

s=1.5;

r=0.1;

t=2;

eq1=0.014696*(1-s*(1+r))*exp(t*(-(1-a-b-c-d-e)-s*a*(1+r)-s*d))+0.985304*exp(t*(-(1-a-b-c-d-e)))+0.03903*(s-s^2*(1+r)-(1+r))*exp(t*(-s*(1-a-b-c-d-e)-a*(1+r)-s^2*a*(1+r)-s^2*d))+0.001513038*(s-(1+r))*exp(t*(-s*(1-a-b-c-d-e)-c/0.004-a*(1+r)))+0.581751*(s-(1+r))*exp(t*(-s*(1-a-b-c-d-e)-a*(1+r)))+0.026544385*(s^2-s*(1+r)-s^3*(1+r))*exp(t*(-s^2*(1-a-b-d-e)-a*s*(1+r)-a*s^3*(1+r)-d*s^3))+0.000703601*(s^2-s*(1+r))*exp(t*(-s^2*(1-a-b-d-g)-a*s*(1+r)-c*s/0.004))+0.336909*(s^2-s*(1+r))*exp(t*(-s^2*(1-a-b-d-g)-a*s*(1+r)))+0.219802093*(s^3-s^2*(1+r))*exp(t*(-s^3*(1-a-b-d-g)-a*s^2*(1+r)-d*s^3))-0.132650563*s^3*(1+r)*exp(t*(-s^3*a-b*(1+s+s^2+s^3)/0.776036))

eq2=0.014696*exp(t*(-(1-a-b-c-d-e)-s*a*(1+r)-s*d))+0.985304*exp(t*(-(1-a-b-c-d-e)))+0.030275854*exp(t*(-s*(1-a-b-c-d-e)-a*(1+r)-s^2*a*(1+r)-s^2*d))+0.002269557*exp(t*(-s*(1-a-b-c-d-e)-c/0.004-a*(1+r)))+0.872625847*exp(t*(-s*(1-a-b-c-d-e)-a*(1+r)))+0.059724865*exp(t*(-s^2*(1-a-b-d-e)-a*s*(1+r)-a*s^3*(1+r)-d*s^3))+0.001583103*exp(t*(-s^2*(1-a-b-d-g)-a*s*(1+r)-c*s/0.004))+0.758045*exp(t*(-s^2*(1-a-b-d-g)-a*s*(1+r)))+0.741832063*(s^3-s^2*(1+r))*exp(t*(-s^3*(1-a-b-d-g)-a*s^2*(1+r)-d*s^3))-10.46988*exp(t*(-s^3*a-b*(1+s+s^2+s^3)/0.776036))

eq3=0.014696*exp(t*(-(1-a-b-c-d-e)-s*a*(1+r)-s*d))+0.985304*exp(t*(-(1-a-b-c-d-e)))-0.021169475*exp(t*(-s*(1-a-b-c-d-e)-c/0.004-a*(1+r)-s^2*a*(1+r)-s^2*d))+0.030275854*exp(t*(-s*(1-a-b-c-d-e)-a*(1+r)-s^2*a*(1+r)-s^2*d))-0.610157226*exp(t*(-s*(1-a-b-c-d-e)-c/0.004-a*(1+r)))+0.872625847*exp(t*(-s*(1-a-b-c-d-e)-a*(1+r)))-0.043864723*exp(t*(-s^2*(1-a-b-d-e)-c*s/0.004-a*s*(1+r)-a*s^3*(1+r)-d*s^3))+0.059724865*exp(t*(-s^2*(1-a-b-d-e)-a*s*(1+r)-a*s^3*(1+r)-d*s^3))-0.370634601*exp(t*(-s^2*(1-a-b-d-g)-a*s*(1+r)-c*s/0.004))+0.758045*exp(t*(-s^2*(1-a-b-d-g)-a*s*(1+r)))+0.219802093*exp(t*(-s^2*(1-a-b-d-g)-a*s*(1+r)))

eq4=-0.00735*exp(t*(-(1-a-b-c-d-e)-s*a*(1+r)-s*d))+0.985304364*exp(t*(-(1-a-b-c-d-e)))-0.00355*exp(t*(-s*(1-a-b-c-d-e)-c/0.004-a*(1+r)-s^2*a*(1+r)-s^2*d))-0.011623989*exp(t*(-s*(1-a-b-c-d-e)-a*(1+r)-s^2*a*(1+r)-s^2*d))+0.204830512*exp(t*(-s*(1-a-b-c-d-e)-c/0.004-a*(1+r)))+0.670065*exp(t*(-s*(1-a-b-c-d-e)-a*(1+r)))-0.01118*exp(t*(-s^2*(1-a-b-d-e)-c*s/0.004-a*s*(1+r)-a*s^3*(1+r)-d*s^3))-0.018742499*exp(t*(-s^2*(1-a-b-d-e)-a*s*(1+r)-a*s^3*(1+r)-d*s^3))+0.09519189*(s^3-s^2*(1+r))*exp(t*(-s^3*(1-a-b-d-g)-a*s^2*(1+r)-d*s^3))

eq1=matlabFunction(eq1);

eq2=matlabFunction(eq2);

eq3=matlabFunction(eq3);

eq4=matlabFunction(eq4);

eq=@(a)[eq1(a(1),a(2), a(3), a(4));eq2(a(1),a(2), a(3), a(4)); eq3(a(1),a(2), a(3), a(4));eq4(a(1),a(2), a(3), a(4))]

[sol,fval]=fsolve(eq,[0.03,0.08,0.001,0.4])

结果是

sol =

0.9799 -0.0319 -0.0039 -2.4881

fval =

1.0e-11 *

-0.1603

0.2842

0.5883

0.0997

但是a,b,c,d应在0,1之间,且加起来不超过1我可以在定义变量时就限制范围吗?

求助大神!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。