[英]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.