[英]Why do I keep receiving error with this little piece of code (ode45)
function 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);
我可能会补充说这个效果很好:
function 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 定义了一个时间向量。 在第二行,我们设置积分的初始值 第三行使用 function 句柄、时间跨度和初始值调用 ODE45
这些行的 rest 用于定义您的 function
我现在担心的是你的问题不清楚。 不要问“为什么它不起作用”,而是告诉我们您想要实现的目标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.