"...有一些变量(在函数@ODE_System内计算),我想看到和保存他们的值与解决方案;万博 尤文图斯有没有办法做到这一点?”
有很多方法可以做到这一点,但它们不太可能对您有很大帮助,因为只有一些函数调用对应于ODE解算器返回的解决方案。这是因为ODE解算器可以任意更改步长,甚至可以进行后退,并且并非所有函数调用都对应于输出值。所以,如果你只是简单地保存万博 尤文图斯
每一个
值计算
每一个
函数调用时,要计算出它们中哪一个实际对应于ODE求解器返回的有效解值并不是一项简单的任务。万博 尤文图斯我不推荐这种方法。
除非求解ODE函数是
极
那么到目前为止,最简单的方法是先解ODE,然后用解值调用函数来获得中间值。
下面是一个工作示例:
[t、y] =数值(@fun、0:9 [2;0])
y =
2.0000 0 1.5081 -0.7803 0.3231 -1.8334 -1.8699 -1.0310 -1.7461 0.6240 -0.8443 1.3007 1.2669 2.4471 1.9322 -0.4298 1.2329 -0.9745 -0.3645 -2.4967
(~, tmp) = cellfun (@fun num2cell (t) num2cell (y, 2),“大学”,0);
I=cell2mat(tmp)
我=
-2.0000 -0.5137 -1.9651 4.4439 0.4675 1.2178 -2.7478 -0.7574 -0.7261 -1.8004
intv = (1 y (1) ^ 2) * y (2) - y (1);