我有一個快速的問題,我希望有一個相當簡單的解決方案。我有一個函數,如下所示:Matlab的ode45不發送初始條件到函數
function [dx] = myFunction(x)
凡x
是用含有的結構的系統的(位置和動量)四個元素的列向量。我試圖用ode45
幾個粒子在這個配置空間數值積分,就像這樣:
[Tout,Yout] = ode45(@(x,t)myFunction(x),[t0 tfinal],x0);
每次我嘗試這個我失敗了,收到以下錯誤:
Index exceeds matrix dimensions
Error in myFunction (line 9)
x2 = x(2);
ode45
在流逝單個元素x=0
分成myFunction
,而不是myFunction
期望的四個元素的向量。這是造成索引錯誤。爲什麼會發生這種情況,我該如何解決?這似乎是我沒有正確使用ode45
。
你如何初始化變量'x0'? –