【发布时间】:2019-05-19 09:09:06
【问题描述】:
我正在尝试使用 ode45 函数求解微分方程。
其中参数 C1、C2、C3 和 C4 是大小为 1:1001 的列向量。我想要做的是我需要将它们放在 ode45 引用的函数(fun.m)中并在方程中使用它们,但我希望在每次迭代后改变这些值。因此,例如,在我想要的开始 C1 值是 C1(1),下一次迭代是 C1(2),下一次迭代是 C1(3) 等等。
我的代码:
[t1,X2]=deal(cell(numel(C1),1));
[t1,X2]=deal(cell(numel(C2),1));
[t1,X2]=deal(cell(numel(C3),1));
[t1,X2]=deal(cell(numel(C4),1));
for k = 1:numel(C1)
[t1{k},X2{k}] = ode45(@(t,x)fun(t,x,C1(k),C2(k),C3(k),C4(k)),t0,X01);
end
代码开始给我一个只有括号的 1001x1 单元格,比如这个“[]”,每个括号里面都是空的。每个 C 是 1x1001 double 并且其中有值。
【问题讨论】:
标签: matlab