24小时热门版块排行榜    

查看: 263  |  回复: 2
当前主题已经存档。

pangguihua1984

铜虫 (小有名气)

[交流] Matlab中求解非线性方程组有问题?

我需要用matlab求解一组非线性方程组,要么不收敛,要么结果不对。我用的是迭代的方法,请哪位高手帮着看一下,怎么算。
还有就是我用‘不动点迭代法‘算了一下,结果更是离谱,有负无穷出现。恳求高手帮助。
我的程序如下:(如果感觉方法不合理,可以用其他方法帮忙编一下,谢谢!)
stn=0.35;sts=5.67e-11;
Fp=0.25;Hp=418.7;Hv=12686;Hc=9580;
Mc=12;Mo=16;Co2e=0.25;den=1800;hw=2680;
hr=6740.8;q0r=7105.4;pe=1.61e5;dux=110080;pxx=-1.506e9;
Mw=39.56;
cp=1.047;cpg=0.75;
pr=0.71;kl=5e-4;
Bc=Mc*Co2e/Mo;
Cp=(1-Fp)*cp+Fp*cpg;
q0=q0r*(1-hw/hr+Bc*Hc/hr);
%----------------
n=5;
%-----------------
Pv=zeros(1,n);Fsi=zeros(1,n);F=zeros(1,n);q=zeros(1,n);
b0=zeros(1,n);h=zeros(1,n);V=zeros(1,n);Twx=zeros(1,n);
N=zeros(1,n);Thl=zeros(1,n);U=zeros(1,n);tw=zeros(1,n);
%______________________________
v=0.3e-3;B0=0.5;Tw=3160;T0=315;
for k=1:n
pv=exp(18.48-57780/Tw)*1e5;%1.227819232702270e+005;
Pv(k)=pv;
fsi=(Fp/2+(1+Bc)/B0)/(Mw*(pe/pv)-1
Fsi(k)=fsi;
f=0.5*Fp+Bc/B0+fsi;
F(k)=f;
Q=1-0.62*f*den*v*hr/q0r;
q(k)=Q;
B0=den*v*hr/(Q*q0r);
b0(k)=B0;
H=Fp*Hp+fsi*Hv;
h(k)=H;
v=(Q*q0-stn*sts*Tw^4)/(den*(Cp*(Tw-T0)+H));
V(k)=v;
twx=(pr^(2/3))*Q*q0r*dux/hr;
Twx(k)=twx;
nn=68890/Tw;
N(k)=nn;
thl=kl*Tw/(nn*(Q*q0r-fsi*den*v*Hv));
Thl(k)=thl;
u=2*thl^2/(v*(1-f))*(twx-2*pxx*thl);
U(k)=u;
Tw=68890/(log(abs(u)*1.0e2)+20);
tw(k)=Tw;
end
pv=double(Pv)
fsi=double(Fsi)
f=double(F)
Q=double(q)
B0=double(b0)
H=double(h)
v=double(V*1.0e3)
twx=double(Twx)
nn=double(N)
thl=double(Thl)
u=double(U)
Tw=double(tw)
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Doctorcbw

木虫 (职业作家)

★ ★
小木虫(金币+0.5):恭喜抢沙发,给个红包
haixing2008(金币+1,VIP+0):貌似这个是很简单的求解命令,估计不行,呵呵! 12-24 14:51
用用fsolve试试
2楼2009-12-24 12:41:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bluesine

铁杆木虫 (职业作家)

科苑小木虫

★ ★
小木虫(金币+0.2):抢了个小板凳,给个红包
haixing2008(金币+1,VIP+0):有道理,呵呵! 12-25 08:41
建议:你先把方程贴出来啊,大家直接看程序都不知道你要干什么
板凳要做十年冷文章不发一个字
3楼2009-12-24 15:20:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 pangguihua1984 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见