Matlab 使用ode45时索引超过了矩阵维度
我正在尝试用ode45解一个ode,它正在显示Matlab 使用ode45时索引超过了矩阵维度,matlab,ode,Matlab,Ode,我正在尝试用ode45解一个ode,它正在显示 function ydot=vdpol(t,y) t=0; y=0; mu=2; ydot=[y(2);mu*(1-y(1)^2)*y(2)-y(1)]; tspan=[0 20]; y0=[2;0]; [t,y]=ode45(vdpol,tspan,y0); size(t) size(y) plot(t,y(:,1),t,y(:,2),'--'); xlabel('time'); title('van der pol solut
function ydot=vdpol(t,y)
t=0;
y=0;
mu=2;
ydot=[y(2);mu*(1-y(1)^2)*y(2)-y(1)];
tspan=[0 20]; y0=[2;0];
[t,y]=ode45(vdpol,tspan,y0);
size(t)
size(y)
plot(t,y(:,1),t,y(:,2),'--');
xlabel('time');
title('van der pol solution')
你的问题是:
ydot=[y(2);mu*(1-y(1)^2)*y(2)-y(1)];
您刚才试图引用y
的第二个元素,但它不是数组:
whos y
Name Size Bytes Class Attributes
y 1x1 8 double
下一步:您不再使用ydot
,所以我想您不需要它了!
下一步:使用vdpol
,但不定义此函数或变量
下面是一个正确的解决方案(这不是我的代码,它来自):
你的问题是:
ydot=[y(2);mu*(1-y(1)^2)*y(2)-y(1)];
您刚才试图引用y
的第二个元素,但它不是数组:
whos y
Name Size Bytes Class Attributes
y 1x1 8 double
下一步:您不再使用ydot
,所以我想您不需要它了!
下一步:使用vdpol
,但不定义此函数或变量
下面是一个正确的解决方案(这不是我的代码,它来自):
你能解释一下你愿意实现什么,你面临什么问题吗?你能解释一下你愿意实现什么,你面临什么问题吗?