franksun 发表于 2007-6-26 11:35

怎么解这个递归方程组

x(n+1)=1/y(n),y(n+1)=y(n)/(x(n-1)*y(n-1))
初始条件自己定吧,这样的递归方程组怎么解

VibrationMaster 发表于 2007-6-26 14:23

由第一个方程得x(n-1)=1/y(n-2),代入第二个方程有
y(n+1)=y(n)y(n-2)/y(n-1).因此这个命题需要三个初值,y(1),y(2),y(3),相应的MATLAB程序为

y(1)=1;y(2)=2;y(3)=3; %自己改数

N=100;%自己设定

for k=4:N
   y(k)=y(k-1)*y(k-3)/y(k-2);
end

%显示结果
plot(y)

xjzuo 发表于 2007-6-26 14:39

作循环,一并求解也很简单.

笑石头 发表于 2007-6-26 19:31

function f=myfun(n)
if nargin~=1,error('No of input error'); end
if nargin>1,error('Too many input'); end
if abs(n-floor(n))>eps | n<0
   error('n must be a int,or n>0');
end
if n>3
y(n)=myfun(n-1)*(1/myfun(n-3)*myfun(n-2));
end
if n==3, y(3)=3;end
if n==2, y(2)=2;end
if n==1 , y(1)=1;end

franksun 发表于 2007-6-29 15:20

上面那个还可以代进去算,但如果是下面这种复杂的怎么办呢?
x(n+1)=x(n)/(x(n-1)*y(n-2)),y(n+1)=y(n)/(x(n-1)*y(n-2))
有没有这样的函数可以直接调用呢?

[ 本帖最后由 franksun 于 2007-6-29 15:21 编辑 ]
页: [1]
查看完整版本: 怎么解这个递归方程组