我想解决dy/dt = A
形式的微分方程,其中A
是1的向量。
根本不应该是一个问题,但它不起作用。代码是:
t = [1 2 3 4 5 6 7 8 9 10];
var = ones(1:length(t));
y_an = 1*t;
//
function yd = f1(t,y, var)
yd = var
endfunction
y0 = 1; t0 = 1;
//
y_m1 = ode(y0, t0, t, list(f1, var));
它在第10行返回错误98但是,如果我按如下方式修改函数:
function yd = f1(t,y, var)
yd = var(1)
endfunction
代码运行并返回:
y_m1 =
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
我真的感到困惑并寻求帮助,即来自@LutzL。这个问题也与另外两个问题有关:
Odd behavior of ODE in Scilab: equation dy/dx=A is not solved properly