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

怎么解这个递归方程组

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

suffer 发表于 2007-6-29 00:43

试试rsolve

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

rsolve我试过,求不出来

无水1324 发表于 2007-6-30 18:58

给定初值,直接循环就可以了

suffer 发表于 2007-7-1 20:44

原帖由 无水1324 于 2007-6-30 18:58 发表 http://www.chinavib.com/forum/images/common/back.gif
给定初值,直接循环就可以了

搂主是要解方程,不是实现迭代

suffer 发表于 2007-7-1 20:47

原帖由 franksun 于 2007-6-29 15:13 发表 http://www.chinavib.com/forum/images/common/back.gif
rsolve我试过,求不出来

贴一下你的代码,你这里以后应该有四个初值条件

[ 本帖最后由 suffer 于 2007-7-1 20:48 编辑 ]

无水1324 发表于 2007-7-1 21:23

回复 #5 suffer 的帖子

应该是得到其数值解救可以了

franksun 发表于 2007-7-3 16:33

原帖由 suffer 于 2007-7-1 20:47 发表 http://www.chinavib.com/forum/images/common/back.gif


贴一下你的代码,你这里以后应该有四个初值条件

这是代码:


有什么不对吗?比较简单一些的方程组可以用rsolve解出来,比如它里面自带的这个例子:
>rsolve({y(n+1) + f(n) = 2*2^n + n, f(n+1) - y(n) = n - 2^n + 3,y(k=1..5)=2^k-1, f(5)=6}, {y, f});
但这个好像不行!

franksun 发表于 2007-7-3 16:40

这是另外一个论坛有人给我的两种方法,用的是matlab,对于这个问题还可以解决,当然也是数值解,但如果一个式子不能代入另一个式子,像下面这种或者更复杂的怎么办呢?x(n+1)=x(n)/(x(n-1)*y(n-2)),y(n+1)=y(n)/(x(n-1)*y(n-2))

方法一:
由第一个方程得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)

方法二:
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-7-3 16:44 编辑 ]

suffer 发表于 2007-7-4 09:17

原帖由 franksun 于 2007-7-3 16:33 发表 http://www.chinavib.com/forum/images/common/back.gif


这是代码:
27658

有什么不对吗?比较简单一些的方程组可以用rsolve解出来,比如它里面自带的这个例子:
>rsolve({y(n+1) + f(n) = 2*2^n + n, f(n+1) - y(n) = n - 2^n + 3,y(k=1..5)=2^k-1, f(5)=6}, {y ...

这说明这个问题表达式的形式给不出来

suffer 发表于 2007-7-4 09:31

原帖由 franksun 于 2007-7-3 16:40 发表 http://www.chinavib.com/forum/images/common/back.gif
这是另外一个论坛有人给我的两种方法,用的是matlab,对于这个问题还可以解决,当然也是数值解,但如果一个式子不能代入另一个式子,像下面这种或者更复杂的怎么办呢?x(n+1)=x(n)/(x(n-1)*y(n-2)),y(n+1)=y(n)/(x( ...

如果只要数值解的话这个式子有问题吗?

无水1324 发表于 2007-7-4 13:07

回复 #11 suffer 的帖子

应该没有问题
页: [1]
查看完整版本: 怎么解这个递归方程组