24小时热门版块排行榜    

CyRhmU.jpeg
查看: 4008  |  回复: 1

zgqghh

金虫 (小有名气)

[求助] MATLAB中采用同fsolve求解复杂非线性方程组的问题已有1人参与

科研需要求一组比较复杂的非线性方程组,试着编写了一些程序,fun函数代码为:
function F=myfun(q)
A=2;
delta=0.75;
beta=0.35;
gama=0.5;
r=q(1);
p=q(2);
w=q(3);
F(1)=w/(1+delta*log(w))+r*(1+gama/beta)/(2*(r+2))-1;
F(2)=w/(1+delta*log(w))+((1+delta*log(A/p))*p)/A-1;
F(3)=w-2*beta*(1+r)*p/r^2;

初始值q0=[1 1.5 2],求解r,p,w。运行程序后发现提示Solver stopped prematurely.     fsolve stopped because it exceeded the function evaluation limit,      options.MaxFunEvals = 300 (the default value).由于是第一次求解这么复杂的非线性方程,不知道该怎么处理了。出现这个是因为初始值不合适?或者原方程组的非线性太大?不知道有没有可以优化处理的办法,各位大神,求指导,先行拜谢!

MATLAB中采用同fsolve求解复杂非线性方程组的问题
需求解的非线性方程组.jpg
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

唉。。。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

1stOpt计算:
CODE:
Constant A=2, delta=0.75, beta1=0.35, gama=0.5;
Function
w/(1+delta*ln(w))+r*(1+gama/beta1)/(2*(r+2))-1;
w/(1+delta*ln(w))+((1+delta*ln(A/p))*p)/A-1;
w-2*beta1*(1+r)*p/r^2;

w: 3.18918393381689
r: -0.735048145928154
p: 9.29065081088276
2楼2015-05-25 21:31:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zgqghh 的主题更新
信息提示
请填处理意见