Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

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

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

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

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

添加全局数据

要添加全局变量,请执行以下操作:

  1. 定义输入类型页上,自动定义输入类型或点击自行直接键入输入类型或全局类型

    App 显示一个入口函数输入表。

  2. 要添加全局变量,请点击添加全局变量。默认情况下,App 将工程中的第一个全局变量命名为 g,后续的全局变量命名为 g1g2,依此类推。

  3. 全局变量下,输入全局变量的名称。

  4. 在生成代码之前,请指定类型和初始值。否则,您必须在全局工作区中创建一个同名的变量。

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

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

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

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

通过示例定义全局变量

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

  2. 选择按示例定义

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

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

    您可以指定:

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

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

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

定义或编辑全局变量类型

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

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

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

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

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

    您可以指定:

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

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

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

定义全局变量初始值

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

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

  2. 选择定义初始值

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

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

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

在定义类型后定义初始值

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

  2. 选择定义初始值

  3. 输入一个 MATLAB 表达式。MATLAB Coder 使用指定的表达式的值作为全局变量的值。如果初始值的类型不同于您在初始化全局变量之前指定的类型,MATLAB Coder 将使用初始值的类型。工程显示全局变量已初始化。

定义全局变量常量值

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

  2. 选择定义常量值

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

删除全局变量

  1. 右键点击全局变量。

  2. 从菜单中选择删除全局变量