bryant 发表于 2008-5-3 15:32

Vectors must be the same lengths 出错求助

子程序:
function dy=odey(t,y)
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=0.1*sin(t)-0.04*y(2)-4*y(1);
function dx=odex(t,x)
dx=zeros(2,1);
dx(1)=x(2);
dx(2)=0.1*sin(t)+4-0.04*x(2)-4*x(1);
主程序:
=ode45('odex',,);
=ode45('odey',,);
plot(x(:,1),y(:,1));
运行时出现:??? Error using ==> plot
Vectors must be the same lengths.
请问什么原因,时间段相同,但算出来的x,y数组长度却不一致。

[ 本帖最后由 eight 于 2008-5-4 21:34 编辑 ]

sogooda 发表于 2008-5-3 17:25

ode45可以采用自动步长技术,所以相同的时间段会有不同的x,y长度。

bryant 发表于 2008-5-3 20:18

回复 2楼 的帖子

那怎么才能设定x跟y在相同时间段内具有相同长度?

bryant 发表于 2008-5-4 15:19

回复 3楼 的帖子

各位网友帮帮忙啊:@(
这个问题应该不难吧

多情清秋 发表于 2008-5-4 15:31

=ode45('odex',,);
=ode45('odey',,);
plot(x(:,1),y(:,1))

ch_j1985 发表于 2008-5-4 16:24

原帖由 多情清秋 于 2008-5-4 15:31 发表 http://www.chinavib.com/forum/images/common/back.gif
=ode45('odex',,);
=ode45('odey',,);
plot(x(:,1),y(:,1))

校长给的代码应修改一下,具体如下:

t=0:0.01:10;
=ode45('odex',t,);
=ode45('odey',t,);
plot(x(:,1),y(:,1))
页: [1]
查看完整版本: Vectors must be the same lengths 出错求助