主要内容

调试MATLAB函数

您可以使用MATLAB功能块编辑器调试MATLAB函数块代码。的MATLAB功能块编辑器包括一些相同的调试工具MATLAB中可用®编辑器。调试MATLAB函数块代码,设置至少一个断点和运行模拟。

调试一个函数

下面的例子使用了模型call_stats_block2您创建的实现MATLAB函数与MATLAB仿真软件的功能模块金宝app。调试MATLAB函数块代码在这个模型:

  1. 打开call_stats_block2模型。双击MATLAB函数块打开编辑器。

  2. MATLAB功能块编辑器,单击行号左边的线:

    len =长度(val);

    用红色突出显示的行号,这表明断点。

    MATLAB函数代码与一个断点设置在第7行。

  3. 模拟模型。

    仿真时暂停执行到断点。一个绿色的箭头指向仿真已经暂停。

    这张图片显示了调试断点,执行停了高亮显示的行。

  4. 函数选项卡上,单击跨过先予执行。

    的执行进展到下一行统计数据调用本地函数avg

  5. 函数选项卡上,单击一步

    执行进展到本地函数avg。一旦你在当地的函数,您可以使用跨过一步先予执行的命令。如果当地函数调用另一个函数,使用一步进入它。如果你想执行其余的本地功能,使用走出

  6. 点击跨过执行唯一的行avg

  7. 点击跨过返回功能统计数据

    执行进展后调用avg

  8. 点击跨过两次计算方差和执行情节函数。

    情节在MATLAB函数执行:

    这显示了一个图的输入值和通过划线的值。

  9. 点击继续继续执行模型。

    如果回归模型,计算出的值的意思是方差出现在显示块。

  10. MATLAB功能块编辑器,点击停止停止仿真。

请注意

你可以调试MATLAB函数块在正常和加速器模式。然而,如果你在加速器模拟模型模式使用MATLAB函数块模型参考,父模型模拟忽略了断点。

设置条件断点

您可以输入一个MATLAB作为一个断点条件在一个表达式MATLAB函数块。模拟然后停顿断点只有当条件为真。设置一个条件断点,MATLAB功能块编辑器,右键单击行号左边的一行代码和选择设置条件断点,在对话框中输入条件。您可以使用任何有效的MATLAB作为一个条件表达式。这个表达式可以包含数值范围和任何数据断点。

添加或修改现有的断点条件,右击断点并选择设置/修改状态

看在模拟函数变量

您可以使用一些工具来跟踪函数的变量值,而你模拟MATLAB函数块。

看函数变量的代码

把一个变量的值的函数MATLAB函数在仿真代码块:

  1. 添加一个断点MATLAB功能块编辑器

  2. 运行模型。

  3. 当模拟停顿,指向一个变量名。一个工具提示显示当前变量值。

    例如,看变量方差在模拟,指出len在代码中。

    光标指向变量兰,在模拟变量的值填充。

观察变量的函数符号窗格

把一个变量的值符号窗格中MATLAB函数在模拟块:

  1. 打开符号窗格。在函数选项卡上,单击编辑数据

  2. 添加一个断点MATLAB功能块编辑器

  3. 运行模型。

  4. 模拟停顿时,符号在断点面板更新的值。如果变量是一个数组,价值列显示的尺寸和数据类型变量。指出价值列的值。

    例如,要查看变量瓦尔斯在仿真中,指向的值瓦尔斯价值列。

    光标指向vals变量,变量的值填充在模拟。

看函数变量与命令行调试器

你可以把一个函数变量的值在命令窗口仿真。当你到达一个断点,输入的变量的名称调试> >提示看到它的价值。

调试> >方差1.1180调试> >

你也可以在命令窗口中输入这些命令而调试:

命令 描述

dbcont

继续执行下一个断点。

dbquit

退出调试和终止模拟。

dbstep(|出)

之前遇到一个断点后下一步计划。跨过或进入当地的MATLAB函数。

帮助

显示命令行调试的帮助。

打印< var >

显示变量的值var在当前的范围。如果var是一个向量或矩阵,也可以索引var。例如,var (1、2)

保存

保存所有变量在当前范围指定的文件。MATLAB的语法保存命令。检索从MATLAB基础工作空间变量,使用负载仿真完成后命令。

< var >

相当于打印< var >如果变量是在当前的范围。

显示在当前作用域的变量。

显示所有变量的大小和类(类型)在当前的范围。

如果你输入的其他命令调试> >结果提示,执行的工作区MATLAB函数块。MATLAB基础的工作区中发出一个命令,使用evalin命令与第一个参数“基地”其次是第二个参数命令,例如,evalin(“基地”,“谁”)。你不能在定义或改变变量调试> >提示。

显示大小限制

MATLAB功能块编辑器不显示矩阵的内容,有超过两个维度或多吗200年元素。对于超过这些限制的矩阵,MATLAB功能块编辑器只显示形状和基本类型。

检查数据范围违反

MATLAB函数检查输入和输出的数据块侵犯范围的输入或输出值是何时进入或离开街区。要启用数据范围违反检查,打开配置参数窗口,单击诊断>数据的有效性,并设置模拟范围检查错误警告

指定一个数据范围

为输入和输出变量指定一个范围,在MATLAB功能块编辑器:

  1. 符号窗格中,点击感兴趣的变量。

  2. 在属性检查器属性选项卡中,调整限制范围内属性通过输入所需的值最低最大

调试MATLAB函数初始化函数终止函数

当你使用MATLAB函数初始化函数终止函数块,你不能使用的按钮调试代码部分浏览断点。你必须使用命令行调试器或行号上下文菜单选项。

使用上下文菜单的行号。在MATLAB功能块编辑器,添加断点和运行模拟。在仿真中,右键单击任何断点并点击后的行号继续在这里

这张图片显示了出现的行号上下文菜单当你调试一个MATLAB功能块。额外的调试选项包括一步,一步,一步,继续下去,并停止

另请参阅

相关的话题