matlab求解非线性方程命令,matlab求解非线性方程组 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...

错误提示信息是矩阵奇异,

可能初值不太合适

我用自带fsolve解了下

结果不是很好

[/code]

function aa

[X,FVAL,EXITFLAG,OUTPUT] =fsolve(@fun,[18.7783   0.01   18.1315   18.0062  -2],optimset('MaxFunEvals',1000))

function f=fun(x)

x1=x(1);

x2=x(2);

x3=x(3);

x4=x(4);

x5=x(5);

f1=x1+x2+x3+x4+x5-30;

f2=4.1495*(0.7986-lambertw(2.4534e-007*exp((330.7*x1+354.3091)/443.6719)))-x1/331.0230+1.019e-6*(exp(x1/1.3403)-1)-4.1495*(0.7986-lambertw(2.4533e-007*exp((326.4292*x2+349.7334)/437.9477)))+x2/(0.323+326.4292)-1.019*10^(-6)*(exp(x2/1.3403)-1);

f3=4.1495*(0.7986-lambertw(2.4534e-007*exp((330.7*x1+354.3091)/443.6719)))-x1/331.0230+1.019e-6*(exp(x1/1.3403)-1)-4.1495*(0.7985-lambertw(2.4532e-007*exp((315.4524*x3+337.973)/423.2354)))+x3/(0.323+315.4524)-1.019*10^(-6)*(exp(x3/1.3403)-1);

f4=4.1495*(0.7986-lambertw(2.4534e-007*exp((330.7*x1+354.3091)/443.6719)))-x1/331.0230+1.019e-6*(exp(x1/1.3403)-1)-4.1495*(0.7985-lambertw( 2.4531e-007*exp((302.844*x4+324.4644)/406.3363)))+x4/(0.323+302.844)-1.019*10^(-6)*(exp(x4/1.3403)-1);

f5=4.1495*(0.7986-lambertw(2.4534e-007*exp((330.7*x1+354.3091)/443.6719)))-x1/331.0230+1.019e-6*(exp(x1/1.3403)-1)-1.019*10^(-6)*(exp(x5/1.3403)-1);

f=[f1 f2 f3 f4 f5];

[/code]

Solver stopped prematurely.

fsolve stopped because it exceeded the function evaluation limit,

options.MaxFunEvals = 1000 (the selected value).

X =

18.7895   19.0894   19.0963   19.1094  -46.0868

FVAL =

-0.0022   -0.0180   -0.0172   -0.0175    2.7252

EXITFLAG =

0

OUTPUT =

iterations: 180

funcCount: 1001

algorithm: 'trust-region dogleg'

firstorderopt: 0.0022

message: [1x143 char]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值