对结果进行访问

探查结果保存在一个可以察看或获取的结构中,本例演示如何察看结果。

1.运行Profile

在命令窗口键入下面的命令行:

code.matlab
>> profile on -detail builtin -history
>> [t,y] = ode23('lotka',[0 2],[20;20]);

2.查看包含profile结果的结构

在命令行键入:

code.matlab
>> stats = profile('info')
stats =
      FunctionTable: [86x1 struct]
    FunctionHistory: [2x986 double]
     ClockPrecision: 5.4028e-07
        ClockSpeed: 1.8950e+09
             Name: 'MATLAB'
          Overhead: 0

3.察看和获取结构的内容

在命令窗口键入:

code.matlab
>> stats.FunctionTable

MATLAB显示FunctionTable结构

code.matlab
ans =
86x1 struct array with fields:
    CompleteName
    FunctionName
    FileName
    Type
    Children
    Parents
    ExecutedLines
    IsRecursive
    TotalRecursiveTime
    PartialData
    NumCalls
    TotalTime

4.查看FunctionTable结构中一个元素的内容

在命令行键入:

code.matlab
>> stats.FunctionTable(2)

MATLAB返回结构中的第2个元素。

code.matlab
ans =
          CompleteName: 'C:\Program Files\MATLAB\R2016a\toolbox\matlab\funfun\
private\odearguments.m>odearguments'
          FunctionName: 'funfun\private\odearguments'
              FileName: 'C:\Program Files\MATLAB\R2016a\toolbox\matlab\funfun\
private\odearguments.m'
                  Type: 'M-function'
              Children: [22x1 struct]
               Parents: [1x1 struct]
         ExecutedLines: [53x3 double]
           IsRecursive: 0
    TotalRecursiveTime: 0
           PartialData: 0
              NumCalls: 1
             TotalTime: 0.0409

5.保存结果

用save命令保存结果,即

code.matlab
>> save profstats

6.用保存好的结果生成一个Profile报表

在命令行键入:

code.matlab
>> load profstats
>> profreport(stats)

MATLAB显示Profile报表。