Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

使用 App 指定全局变量类型和初始值

为什么要为全局变量指定类型定义?

如果在 MATLAB® 算法中使用全局变量,则在构建工程之前,必须为每个全局变量添加全局类型定义和初始值。如果不初始化全局数据,则 App 将在 MATLAB 全局工作区中查找变量。如果变量不存在,App 会生成错误。

对于 MEX 函数,如果您使用全局数据,还必须指定是否在 MATLAB 和 MEX 函数之间同步这些数据。

指定全局变量类型

  1. 使用以下方法之一指定每个全局变量的类型:

  2. 为每个全局变量定义初始值

如果不为全局变量提供类型定义和初始值,请在 MATLAB 工作区中创建一个具有相同名称和适当的类、大小、复/实性和值的变量。

通过示例定义全局变量

  1. 点击要定义的全局变量右侧的字段。

  2. 选择 “Define by Example”。

  3. 在全局名称右侧的字段中,输入具有所需的类、大小和复/实性的 MATLAB 表达式。MATLAB Coder™ 软件使用此表达式的值的类、大小和复/实性作为全局变量的类型。

  4. (可选)更改全局变量的大小。点击要更改的维度,然后输入大小,例如 10

    您可以指定:

    • 固定大小。在此示例中,选择 10

    • 可变大小,通过使用 : 前缀来指定,最高不超过指定的限制。在此示例中,要指定输入的大小不超过 10,请选择 :10

    • 无界可变大小,通过选择 :Inf 来指定。

定义或编辑全局变量类型

  1. 点击要定义的全局变量右侧的字段。

  2. (可选)对于数值类型,请选择 Complex 使参数成为复数类型。默认情况下,输入是实数。

  3. 选择全局变量的类型。例如,“double”。

    默认情况下,全局变量是标量。

  4. (可选)更改全局变量的大小。点击要更改的维度,然后输入大小,例如 10

    您可以指定:

    • 固定大小。在此示例中,选择 10

    • 可变大小,通过使用 : 前缀来指定,最高不超过指定的限制。在此示例中,要指定输入的大小不超过 10,请选择 :10

    • 无界可变大小,通过选择 :Inf 来指定。

定义全局变量初始值

在定义类型之前定义初始值

  1. 点击全局变量右侧的字段。

  2. 选择 “Define Initial Value”。

  3. 输入 MATLAB 表达式。MATLAB Coder 软件使用指定的 MATLAB 表达式的值作为全局变量的值。由于您在定义全局变量的初始值之前未定义其类型,MATLAB Coder 将初始值类型用作全局变量类型。

    工程显示全局变量已初始化。

    如果在定义全局变量的初始值后更改其类型,则必须重新定义初始值。

在定义类型后定义初始值

  • 点击预定义的全局变量的类型字段。

  • 选择 “Define Initial Value”。

  • 输入 MATLAB 表达式。MATLAB Coder 软件使用指定的 MATLAB 表达式的值作为全局变量的值。

    工程显示全局变量已初始化。

定义全局变量常量值

  1. 点击全局变量右侧的字段。

  2. 选择 “Define Constant Value”。

  3. 在全局变量右侧的字段中,输入 MATLAB 表达式。

删除全局变量

  1. 右键点击全局变量。

  2. 从菜单中选择 Remove Global