为什么我一直收到这个小代码(ode45)的错误



函数dy=g2(x,y(

dy=-0.1*y;

ym=ode45('g2',0,5,4(

结束

我收到以下消息:

g2(0.5,4(使用odearguments时出错(第83行(tspan中的最后一个条目必须与第一个条目不同。

ode45中的错误(第115行(odearguments(FcnHandlesUsed,solver_name,ode,tspan,y0,options,varargin(;

g2中的错误(第9行(ym=ode45('g2',0,5,4(;

我可以补充一下,这个效果很好:

函数dy=g1(x,y(

dy=3*x^2;

ym=ode45('g1',2,4,0.5(

结束

我不明白你想做什么,但我会给你举一个例子。

通常你的函数是在底部定义的,你这样调用ODE:

t=linspace(0,7,1000);
initial_value_for_y = 0;
[t,y] = ode45(@myfunction, t, initial_value_for_y);
function dy = myfunction(t, y)
dy = exp(-t);
end

因此,在第一行中,我们使用linspace定义了一个时间向量。在第二行,我们设置了积分的初始值第三行调用具有函数句柄、时间跨度和初始值的ODE45

剩下的几行是你的函数的定义

我现在担心的是你的问题不清楚。而不是问";为什么它不起作用";,告诉我们你正在努力实现什么

最新更新