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 编辑 ] ode45可以采用自动步长技术,所以相同的时间段会有不同的x,y长度。
回复 2楼 的帖子
那怎么才能设定x跟y在相同时间段内具有相同长度?回复 3楼 的帖子
各位网友帮帮忙啊:@(这个问题应该不难吧 =ode45('odex',,);
=ode45('odey',,);
plot(x(:,1),y(:,1)) 原帖由 多情清秋 于 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]