怎么解这个递归方程组
x(n+1)=1/y(n),y(n+1)=y(n)/(x(n-1)*y(n-1))初始条件自己定吧,这样的递归方程组怎么解 试试rsolve rsolve我试过,求不出来 给定初值,直接循环就可以了 原帖由 无水1324 于 2007-6-30 18:58 发表 http://www.chinavib.com/forum/images/common/back.gif
给定初值,直接循环就可以了
搂主是要解方程,不是实现迭代 原帖由 franksun 于 2007-6-29 15:13 发表 http://www.chinavib.com/forum/images/common/back.gif
rsolve我试过,求不出来
贴一下你的代码,你这里以后应该有四个初值条件
[ 本帖最后由 suffer 于 2007-7-1 20:48 编辑 ]
回复 #5 suffer 的帖子
应该是得到其数值解救可以了 原帖由 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});
但这个好像不行! 这是另外一个论坛有人给我的两种方法,用的是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 编辑 ] 原帖由 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 ...
这说明这个问题表达式的形式给不出来 原帖由 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( ...
如果只要数值解的话这个式子有问题吗?
回复 #11 suffer 的帖子
应该没有问题
页:
[1]