我有一个要用lsode解决的功能,像这样:
function f = fcn(x,t)
% Set spring stiffness and mass
k = 500;
m = 5;
% Assign function
f1 = x(2);
f2 = -(k/m)*x(1);
f = [f1; f2];
endfunction
这是调用此功能的脚本:
% Initial value
x0 = [0.2, 0];
%time
t = linspace(0,1,500);
[X] = lsode (@fcn, x0, t);
plot(t,X(:,1));
现在,我想循环播放此脚本,但是每次我想使用不同的“ k”值时。用lsode解决的函数必须仅接受“ x”和“ t”作为参数,然后我不能将“ k”放在参数列表中。
我不能使用匿名函数,因为我正在研究的实际函数更加复杂(不仅仅是线性振荡器)。