[求助]大家好,能帮我解决一个matlab的问题吗?
<P><FONT style="BACKGROUND-COLOR: #a2945e">我建一个m-file文件如下:</FONT><BR>function y=TT(m,n)<BR>a=0;<BR>b=1;<BR>f=inline('exp(x)','x');<BR>if m==1;<BR> if n==1;<BR> y=1;<BR> else <BR> T1=TT(1,n-1);<BR> s=0;<BR> for i=1:2n-3<BR> s=s+f((2*i-1)*(b-a)/(2^(n-1)));<BR> end<BR> y=(T1+(b-a)*s/(2^(n-2)))/2;<BR> end<BR>else <BR> T11=TT(m-1,n-1);<BR> T12=TT(m-1,n-2);<BR> y=((4^(m-1))*T11-T12)/(4^(m-1)-1);<BR>end<BR><FONT style="BACKGROUND-COLOR: #bba344">我想问大家<BR>为什么不能算出y=TT(5,5)的值?<BR><BR>拜托了!谢谢</FONT></P>回复:(coneybaby)[求助]大家好,能帮我解决一个mat...
自己调用自己? 这是迭代呀,自己调用自己是可以的回复:(coneybaby)[求助]大家好,能帮我解决一个mat...
<P>取 TT(5,5)的时候,也就是说程序需要4次迭代<BR> T11=TT(m-1,n-1);<BR> T12=TT(m-1,n-2);<BR> y=((4^(m-1))*T11-T12)/(4^(m-1)-1);<BR>才能使得调用<BR> if n==1;<BR> y=1;<BR> else <BR> T1=TT(1,n-1);<BR> s=0;<BR> for i=1:2n-3<BR> s=s+f((2*i-1)*(b-a)/(2^(n-1)));<BR> end<BR> y=(T1+(b-a)*s/(2^(n-2)))/2;<BR> end<BR><BR>而在此时n实际上已经小于1<BR>所以程序只能不断的迭代运算<BR> T1=TT(1,n-1);<BR> s=0;<BR> for i=1:2n-3<BR> s=s+f((2*i-1)*(b-a)/(2^(n-1)));<BR> end<BR> y=(T1+(b-a)*s/(2^(n-2)))/2;<BR>而这个时候你是不可能取到TT(1,1)的情况的<BR>所以程序只能无限循环下去,最后跳出</P>回复:(clafe000)回复:(coneybaby)[求助]大家好,...
你好,我可以有你的qq吗?我还是不明白,我现在正在学这个软件。也许通过qq更容易交流。我的qq是:99303680
页:
[1]