使用MATLAB ODE求解器显示功能评估和成功的步数

时间:2014-09-18 19:10:12

标签: matlab

我被要求用MATLAB求解器解决一些ODE,显示成功步骤的数量和功能评估的步骤。麻烦的是,我不知道如何显示它们,而且老师的幻灯片没有帮助,就像谷歌搜索MATLAB ode solvers display function eval count和搜索mathworks.com上的viewing function evaluation number with ode solver一样,显然。那么,我该怎么办?

1 个答案:

答案 0 :(得分:0)

你可以分配一个" sol"结构作为ODE求解器的输出,之后您可以使用sol.stats来显示统计信息。

例如:

tspan = [0, 20];
y0 = [2; 0];
Mu = 1;
ode = @(t,y) vanderpoldemo(t,y,Mu);

sol  = ode45(ode, tspan, y0)

sol.stats

sol看起来像这样:

sol = 

     solver: 'ode45'
    extdata: [1x1 struct]
          x: [1x60 double]
          y: [2x60 double]
      stats: [1x1 struct]
      idata: [1x1 struct]

而sol.stats看起来像这样:

nsteps: 59
nfailed: 10
nfevals: 415

希望有所帮助!