声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2133|回复: 3

[综合讨论] 求助:fsolve 解非线性方程组如何查看迭代过程

[复制链接]
发表于 2011-5-16 09:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
用以下程序解非线性方程组,如何查看解的迭代计算过程。
function x=myfun1
format long
x0 = [30;5;0;2000000];
options=optimset('MaxFunEvals',80000,'MaxIter',85000);
[x,fval] = fsolve(@f,x0,options) ;
function F=f(x)
k=5000
ga=10322.87553
ei=178892900.6
p=60000
c=7000
h=173
ae=0
ea=0
a=0.0478
F =[k*x(2)-ea*(((h-ae-x(2))^2+(x(1))^2)^0.5-h)*abs(cos(x(3)))/h;
(abs(x(1))-(h-ae-x(2))*abs(tan(x(3))))*100;
x(4)*(1-cos(a*h)-c*h)/p+(p*(c-k*x(2)*abs(tan(x(3))))+ga*c)*sin(a*h)/(ga*a*p)-abs(x(1));
x(4)-c*h-p*abs(x(1))]
end

end
回复
分享到:

使用道具 举报

发表于 2011-5-16 09:10 | 显示全部楼层
你可以在function函数中,添加一些查看变量来观察,个人拙见!
 楼主| 发表于 2011-5-16 09:36 | 显示全部楼层
回复 2 # meiyongyuandeze 的帖子

谢谢,只是不懂怎么添加,我想看的是每一步迭代的结果
发表于 2011-5-18 00:02 | 显示全部楼层
optimset('Display','iter')  ??
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-20 05:50 , Processed in 0.050131 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表