找回密码
 注册
查看: 1534|回复: 2

急救!!!

[复制链接]
发表于 2004-7-13 18:06:00 | 显示全部楼层 |阅读模式

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

您需要 登录 才可以下载或查看,没有账号?注册

x
求,已知{Xn}是收敛的,假设收敛于x,且x未知,需要求的,而Xn是一个函数,为n/(n+1),
思路为:1、计算X1,X2。。。。Xn,
        2、若|Xn-Xn-1|<0.000001,则停止
        输出X=(Xn+Xn-1)/2
        3、否则,返回第2步继续执行
function untitled6
  y=f(2,1);
  disp(y);
return
function y=f(n,m)%求收敛的值y
   y1=a(n);
   y2=a(n-1);
   k=abs(y1-y2);
   if  k<0.000001
       y=(y1+y2)/2;
       return
   else
       n=n+1;
       m=n-1;
       y=f(n,m);
   end
return
function Y=a(n)%计算函数a(n)
      x1=n;
      x2=n+1;
      Y=x1/x2;
return
但编译时出现错误提示
??? Maximum recursion limit of 500 reached. Use set(0,'RecursionLimit',N)
to change the limit.  Be aware that exceeding your available stack space can
crash MATLAB and/or your computer.
Error in ==> E:\新建文件夹\untitled6.m (f)
On line 6  ==>    y1=a(n);
>>
请问这是怎么回事,请指教
发表于 2004-7-14 00:38:19 | 显示全部楼层

急救!!!

第归次数太大,改成非第归算法
发表于 2004-7-14 13:02:59 | 显示全部楼层

急救!!!

是呵,有提示为何不看呢?好告诉你你怎么解除那个限制,以及可能出现的后果!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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