簡體   English   中英

為什么我不斷收到這一小段代碼的錯誤 (ode45)

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM