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