我有如下的使用情況:如何通過ode45接受兩個參數的odefun?
裏面F.m
我有一個函數F
是作爲其參數一2 x 1
矩陣x
。 F
需要將矩陣乘以kmat
乘以x
。 kmat
是由腳本生成的變量。
所以,我所做的就是設置kmat
是在腳本全球:
global kmat;
kmat = rand(2);
在F.m
:
function result = F(x)
global kmat;
result = kmat*x;
end
於是最後,在腳本我有(x_0
已經被定義作爲適當的2 x 1
矩陣,並且tstart
和tend
是正整數):
xs = ode45(F, [tstart, tend], x_0);
然而,這會導致錯誤:
Error using F (line 3)
Not enough input arguments.
Error in script (line 12)
xs = ode45(F, [tstart, tend], x_0);
這到底是怎麼回事,我能做些什麼來解決這個問題?或者,通過kmat
到F
的正確方法是什麼?