galaxy0311 发表于 2009-5-6 09:14

谢谢前辈进来帮忙看下这小程序哪出问题了

很简单的一个方程我就想画出图运行也没有错误 但是图出来什么也没有怀疑是循环用的有点问题但不知道怎么改谢谢前辈帮忙看下
function phi=twolayer()
tc=37; km=0.5; qm=700; w=0.0005; pb=1000; cb=3600; a=1.8;
ksf=0.3; e=0.95; hra=5.9; hw=200; hrw=0; ha=2; ts=24; dlm=3/10000;
%lm=0:dlm:0.003;
ti=0; lsf=0.003;
%while max(abs(ti))>1/100000
for lm=0:dlm:0.003   
    rtot=1/a*(lsf/ksf+1/(ha+hra));
    thetac=-qm/(w*pb*cb); mhat=sqrt(w*pb*cb/km);
    ti=(ts*sinh(mhat*lm)+km*a*mhat*rtot*(thetac+(tc+qm/(w*pb*cb))*cosh(mhat*lm)))/...
      (sinh(mhat*lm)+km*a*mhat*rtot*cosh(mhat*lm));
end
plot(lm,ti)

[ 本帖最后由 ChaChing 于 2009-5-6 12:40 编辑 ]

friendchj 发表于 2009-5-6 09:21

参见:
http://forum.vibunion.com/forum/thread-81010-1-1.html

feifeifool 发表于 2009-5-6 09:41

lsf=0.003;
%while max(abs(ti))>1/100000
for lm=0:dlm:0.003   
    rtot=1/a*(lsf/ksf+1/(ha+hra));
    thetac=-qm/(w*pb*cb);
    mhat=sqrt(w*pb*cb/km);
    ti=(ts*sinh(mhat*lm)+km*a*mhat*rtot*(thetac+(tc+qm/(w*pb*cb))*cosh(mhat*lm)))/...
      (sinh(mhat*lm)+km*a*mhat*rtot*cosh(mhat*lm));
end
plot(lm,ti)
你的变量lm,ti是点,并没有存成向量。当然划不出图来了。只是在坐标里划了一个点。

galaxy0311 发表于 2009-5-6 10:12

我改好了应该是对的了谢谢LS两位少了个hold on
页: [1]
查看完整版本: 谢谢前辈进来帮忙看下这小程序哪出问题了