1

我第一定義函數爲DY/DT = Y和dy/dt的= T:使用ODE45解決Y '= Y adnd Y'= T在Matlab

function dy=d(y): 
    dy=y 
end 

function ddy=dd(t): 
    ddy=t 
end 

然後我分別使用ODE45,:

[t,y]=ode45('d',[1 10],1) 
[t,y]=ode45('dd',[1 10],1) 

返回以下錯誤:使用d 太多輸入參數出錯。

我的問題是:

  1. 我有什麼錯?
  2. 如何Matlab的知道y或t是獨立變量?當我定義第一個函數時,它可以合理地解釋爲dt/dy = y而不是dy/dt = y。是否有定義函數的內置約定?第一

回答

0

第一件事:上ode45的文檔是The MathWorks公司的網站上,也可以從控制檯輸入help ode45得到他們。

你需要傳遞給函數取兩個變量,然後yt。正如你注意到沒有,只有一個那將是不可能的,僅僅爲t功能區分的只有y功能。第一個論點必須是獨立的,第二個是依賴的。

嘗試定義你的函數爲dy = d(t, y)ddy = dd(t, y)用相同的機構。

另一個音符,而使用表示函數名稱應爲字符串,你可以使用@d@dd直接引用的功能。

+0

謝謝!這真的很有幫助。 – LaserChicken