Main Content

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

Simulink.LookupTable 类

命名空间: Simulink
超类:

存储和共享查找表和断点数据,为 ASAP2 和 AUTOSAR 代码生成配置数据

描述

Simulink.LookupTable 类的对象存储查找表和断点数据。您可以在查找表模块(如 n-D Lookup Table 模块)中使用该数据。通过该对象,可以为表和断点集指定数据类型和代码生成设置。

在将所有表和断点集数据存储在单个 Simulink.LookupTable 对象中时,在生成的代码中,所有这些数据都会出现在一个单独的结构体中。要配置 STD_AXIS 代码生成以进行标定,请使用此方法。

要在多个查找表之间共享断点(例如用于生成 COM_AXIS 代码),请在一个或多个 Prelookup 模块中使用 Simulink.Breakpoint 对象。在 Interpolation Using Prelookup 模块中使用 Simulink.LookupTable 对象。然后,配置查找表对象以引用断点对象。有关详细信息,请参阅为查找表打包共享断点和表数据

要从 Simulink.LookupTable 进行子类化并从此基类继承,请键入以下语法作为类定义文件的第一行,其中 myLookuptable 是新类的名称:

classdef myLookuptable < Simulink.LookupTable

有关子类化的示例,请参阅定义数据类

如果向子类添加属性,可以通过在 MATLAB® 命令行中显示子类对象来查看它们。在属性对话框中,这些属性显示在一个新选项卡中。

构造

LUTObj = Simulink.LookupTable 返回具有默认属性值的 Simulink.LookupTable 对象 LUTObj

要使用模型资源管理器创建 Simulink.LookupTable 对象,请使用工具栏上的按钮 。对象的默认名称是 Object

“属性”对话框

断点设定设置为显式值(默认值)显示属性对话框的以下视图。

对话框底部包含表和断点数据值。有关此表区域的详细信息,请参阅Edit Lookup Table Data with Lookup Table Spreadsheet。此表的内容等效于属性,当断点设定属性设置为等间距引用时可见。

表和断点

表维数

查找表的维数。指定最大为 30(含该值)的整数值。例如,要表示三维查找表,请指定整数 3

, 断点设定

断点集信息来源,指定为显式值(默认值)、引用等间距

  • 要将所有表和断点集数据存储在 Simulink.LookupTable 对象中,请将断点设定设置为显式值

    Simulink.LookupTable 对象作为单个结构体变量显示在生成的代码中。

  • 要将表数据存储在 Simulink.LookupTable 对象中并将断点集数据存储在 Simulink.Breakpoint 对象中,请将断点设定设置为引用

    Simulink.LookupTable 对象作为包含表数据的单独数组变量显示在生成的代码中。每个 Simulink.Breakpoint 对象都显示为包含断点集数据的单独数组或结构体变量。

  • 要将表数据和等间距断点存储在 Simulink.LookupTable 对象中,请将断点设定设置为等间距。使用第一个点间距参数生成一组等间距断点。

注意

断点设定设置为显式值等间距时,可以更改查找表对象生成的结构体中可调大小、断点和表条目的顺序。

表数据的信息。您可以配置下列特性:

表数据。指定至少具有两个元素的数值向量或多维数组。

断点设定属性设置为显式值时,表数据与对话框底部可见的表格接口的内容相同。有关此表区域的详细信息,请参阅Edit Lookup Table Data with Lookup Table Spreadsheet

注意

仅当断点设定设置为等间距引用时,此属性才会出现。

Lookup Table property dialog box with Breakpoints specification set to Even spacing.

只要表达式返回数值向量或多维数组,您还可以使用包含数学运算符的表达式,如 sin(1:0.5:30)。当您点击应用确定时,对象执行表达式并使用结果设置此属性的值。

当您将数据类型设置为 auto 时,要设置,请使用定型表达式(如 single([1 2 3]))或者使用 fi (Fixed-Point Designer) 构造函数来嵌入 fi 对象。

当您指定具有三个或更多维度的表数据时,将数据显示为包含对 reshape 函数的调用的表达式。要编辑该数据中的值,请修改 reshape 调用的第一个参数,该参数将所有值包含在一个串行化向量中。当沿某个维度添加或删除元素时,还必须更正表示修改后的维度的长度的参数。

您可以通过在查找表模块中使用更直观的界面来编辑此数据。请参阅从 MATLAB 中导入查找表数据

数据类型

表数据的数据类型。默认设置是自动,这意味着表数据将从您在中指定的值获取数据类型。如果使用非定型表达式(如 [1 2 3])来设置,则表数据使用数据类型 double。如果您指定定型表达式(如 single([1 2 3]))或 fi 对象,则表数据将使用由该表达式或对象指定的数据类型。也支持枚举数据类型。

您可以显式指定整数数据类型、半精度数据类型、浮点数据类型、定点数据类型或数据类型表达式,例如 Simulink.AliasType 对象的名称。

有关 Simulink® 中数据类型的详细信息,请参阅 Simulink 支持的数据类型。要决定如何控制 Simulink.LookupTableSimulink.Breakpoint 对象中表和断点数据的数据类型,请参阅Control Data Types of Lookup Table Objects (Simulink Coder)

维度

查找表数据的维度长度。

要使用符号维度,请指定字符向量。请参阅Implement Symbolic Dimensions for Array Sizes in Generated Code (Embedded Coder)

最小值

表数据中元素的最小值。默认值为空,即 []。您可以指定实数数值。

有关 Simulink 如何使用此属性的详细信息,请参阅指定模块参数的最小值和最大值

最大值

表数据中元素的最大值。默认值为空,即 []。您可以指定实数数值。

有关 Simulink 如何使用此属性的详细信息,请参阅指定模块参数的最小值和最大值

存储的整数最小值

对于具有定点数据类型的 Simulink.LookupTable 对象,它是表数据中元素的最小值,指定为存储的整数值。该值派生自真实值最小。此属性仅在属性对话框中可用。

存储的整数最大值

对于具有定点数据类型的 Simulink.LookupTable 对象,它是表数据中元素的最大值,指定为存储的整数值。该值派生自真实值最大。此属性仅在属性对话框中可用。

单位

查找表中元素的物理单位。您可以指定文本,如 degC。请参阅 Simulink 模型中的单位指定

字段名称

生成的代码中结构体字段的名称。如果将 Simulink.LookupTable 对象配置为以结构体形式显示在生成的代码中,则此字段存储表数据。默认值为 Table。要更改字段名称,请指定文本。

描述

查找表的描述。您可以指定文本,如 This lookup table describes the action of a pump

断点

断点集信息。每行都是一个断点集。要配置更多断点集,请在表维数框中指定整数值。

对于断点集,您可以配置下列特性:

断点集的数据。指定至少具有二个元素的数值向量。

注意

仅当断点设定设置为等间距引用时,此属性才会出现。当断点设定属性设置为显式值时,断点集数据与对话框底部可见的表格接口的内容相同。有关此表区域的详细信息,请参阅Edit Lookup Table Data with Lookup Table Spreadsheet

只要表达式返回数值向量,您还可以使用包含数学运算符的表达式,如 sin(1:0.5:30)。当您点击应用确定时,对象执行表达式并使用结果设置此属性的值。

当您将数据类型设置为 auto 时,要设置,请使用定型表达式(如 single([1 2 3]))或者使用 fi (Fixed-Point Designer) 构造函数来嵌入 fi 对象。

您可以通过在查找表模块中使用更直观的界面来编辑此数据。请参阅从 MATLAB 中导入查找表数据

数据类型

断点集的数据类型。默认设置是 auto,这意味着断点集从您在中指定的值获取数据类型。如果使用非定型表达式(如 [1 2 3])来设置,则断点数据使用数据类型 double。如果您指定定型表达式(如 single([1 2 3]))或 fi 对象,则断点数据将使用由该表达式或对象指定的数据类型。

您可以显式指定整数数据类型、浮点数据类型、定点数据类型或数据类型表达式,例如 Simulink.AliasType 对象的名称。

有关 Simulink 中数据类型的详细信息,请参阅 Simulink 支持的数据类型。要决定如何控制 Simulink.LookupTableSimulink.Breakpoint 对象中表和断点数据的数据类型,请参阅Control Data Types of Lookup Table Objects (Simulink Coder)

维度

断点集的维度长度。

要使用符号维度,请指定字符向量。请参阅Implement Symbolic Dimensions for Array Sizes in Generated Code (Embedded Coder)

最小值

断点集中元素的最小值。默认值为空,即 []。您可以指定实数数值。

有关 Simulink 如何使用此属性的详细信息,请参阅指定模块参数的最小值和最大值

最大值

断点集中元素的最大值。默认值为空,即 []。您可以指定实数数值。

有关 Simulink 如何使用此属性的详细信息,请参阅指定模块参数的最小值和最大值

单位

断点集中元素的物理单位。您可以指定文本,如 degF。请参阅 Simulink 模型中的单位指定

字段名称

生成的代码中结构体字段的名称。此字段存储断点集数据。对于第一个断点集,默认值为 BP1;对于第二个断点集,默认值为 BP2。要更改字段名称,请指定文本。

可调大小名称

生成的代码中结构体字段的名称。此字段存储断点集的长度(元素的数量),生成的代码算法用它来确定表的大小。要在代码执行期间调整表的有效大小,请更改内存中此结构体字段的值。对于第一个断点集,默认名称为 N1;对于第二个断点集,默认名称为 N2。要更改字段名称,请指定文本。

此列仅在您选择支持可调大小时才会显示。

描述

断点集的描述。您可以指定文本,如 This breakpoint set represents the pressure input

第一个点

等间距断点数据中的第一个点。当断点设定设置为等间距时,此参数可用。

间距

等间距断点数据中各点之间的间距。当断点设定设置为等间距时,此参数可用。

名称

存储此断点集信息的 Simulink.Breakpoint 对象的名称。

仅当断点设定设置为引用时,此列才会出现。

第一个点名称

存储第一个点的信息的 Simulink.Breakpoint 对象的名称。当断点设定设置为等间距时,此参数可用。

间距名称

存储间距信息的 Simulink.Breakpoint 对象的名称。当断点设定设置为等间距时,此参数可用。

表和断点值编辑区域

表和断点数据的信息。您可以在相关联的文本框中输入 MATLAB 表达式,或直接在附带的表中添加数据。选择所需的数据类型:

  • 选择表元素

  • 使用标准键盘快捷方式,例如:

    • 复制 - Ctrl+C

    • 粘贴 - Ctrl+V

    • 撤消 - Ctrl+Z

    • 删除

    • 重做 - Shift+Ctrl+Z

在表中输入或操作数据既简单又直观。像 Microsoft® Excel® 电子表格一样,您可以使用表进行以下操作:

  • - 表数据。指定至少具有两个元素的数值向量或多维数组。

    只要表达式返回数值向量或多维数组,您还可以使用包含数学运算符的表达式,如 sin(1:0.5:30)。当您按 Enter 键时,对象执行表达式并使用结果设置此属性的值。

    当您指定具有三个或更多维度的表数据时,表将数据显示为包含对 reshape 函数的调用的表达式。要编辑该数据中的值,请修改 reshape 调用的第一个参数,该参数将所有值包含在一个串行化向量中。当沿某个维度添加或删除元素时,还必须更正表示修改后的维度的长度的参数。

    您可以在查找表模块中使用更直观的界面来编辑此数据。请参阅从 MATLAB 中导入查找表数据

  • BPN - 断点集的数据。

    指定至少具有二个元素的数值向量。

    只要表达式返回数值向量,您还可以使用包含数学运算符的表达式,如 sin(1:0.5:30)。当您按 Enter 键时,对象执行表达式并使用结果设置此属性的值。

    您可以通过在查找表模块中使用更直观的界面来编辑此数据。请参阅从 MATLAB 中导入查找表数据

代码生成

数据定义:存储类

生成的代码中结构体变量(端点设定设置为显式值等间距时)或数组变量(设置为引用时)的存储类。变量存储表数据,如果变量是结构体,则存储断点集数据。默认设置是自动

有关存储类的详细信息,请参阅C Data Code Interface Configuration for Model Interface Elements (Simulink Coder)

如果您有 Embedded Coder®,则可以选择自定义存储类。有关自定义存储类的信息,请参阅使用 Struct 存储类将参数数据组织为结构体 (Embedded Coder)

数据定义:标识符

生成的代码中结构体变量(断点设定设置为显式值等间距时)或数组变量(设置为引用时)的替代名称。默认值为空,在这种情况下,生成的代码使用 Simulink.LookupTable 对象的名称作为结构体或数组变量的名称。要设置标识符,请指定文本。

要启用此属性,请将数据定义:存储类设置为自动以外的其他选项。

数据定义:对齐

生成的代码中的数据对齐边界。为结构体或数组变量分配的数据的起始内存地址是您指定的值的倍数。默认值为 -1,它允许代码生成器根据使用情况确定最佳对齐。

指定不超过 128 并且是 2 的幂的正整数。有关使用数据对齐进行代码替换的详细信息,请参阅Data Alignment for Code Replacement (Embedded Coder)

结构体类型定义:名称

结构体变量在生成的代码中使用的结构体类型的名称。默认值为空。请指定文本。

仅当断点设定设置为显式值等间距时,此属性才会出现。

结构体类型定义:数据作用域

结构体类型定义的范围(从您的自定义代码导入或从生成的代码导出)。默认值为自动。当您选择自动时:

  • 如果您没有在结构体类型定义:头文件框中指定值,则生成的代码将结构体类型定义导出到文件 model_types.hmodel 是模型的名称。

  • 如果您在结构体类型定义:头文件框中指定值(如 myHdr.h),则生成的代码从 myHdr.h 中导入结构体类型定义。

要显式指定数据范围,请执行下列操作:

  • 要将结构体类型定义从自定义代码导入生成的代码中,请选择已导入

  • 要从生成的代码中导出结构体类型定义,请选择已导出

将结构体类型定义的数据作用域设置为已导入已导出以避免潜在的 MISRA C:2012 违规。

如果您没有在结构体类型定义:头文件框中指定值,则生成的代码将从 StructName.h 导入或向其导出类型定义。StructName 是您使用属性结构体类型定义:名称指定的名称。

仅当断点设定设置为显式值等间距时,此属性才会出现。

结构体类型定义:头文件

包含结构体类型定义的头文件的名称。您可以从创建的头文件导入定义,或者将定义导出到生成的头文件中。要控制结构体类型的范围,请调整结构体类型定义:数据作用域属性的设置。

仅当断点设定设置为显式值等间距时,此属性才会出现。

高级

支持可调大小

指定在生成的代码中支持调整表的有效大小。在代码中,表示对象的结构体会针对每个断点向量增加一个字段。每个增加的字段存储对应断点向量的长度。您可以更改每个字段的值以调整表的有效大小。有关断点和表大小的详细信息,请参阅Breakpoint and Table Size Features in Lookup Tables

仅当断点设定设置为显式值等间距时,此属性才会出现。选择允许此类型的多个实例具有不同表和断点大小会自动选择此属性。

注意

如果通过将断点设定设置为引用Simulink.Breakpoint 对象中存储断点数据,则要支持在生成的代码中调整表大小,请使用每个 Simulink.Breakpoint 对象的支持可调大小属性。

允许此类型的多个实例具有不同表和断点大小

指定将查找表对象配置为支持具有相同结构体类型的不同大小的表和断点。例如,假设两个一维查找表对象按如下所示配置,并且它们具有相同的结构体类型名称。

  • 具有大小为 [1×4] 的表和断点的查找表

  • 具有大小为 [1×6] 的表和断点的查找表

对于一个具有包含这些对象的两个模块的模型,要使该模型能够进行仿真,请选中允许此类型的多个实例具有不同表和断点大小复选框。对于使用 Simulink Coder™ 的代码生成,软件为这两个对象生成具有指针类型成员字段的一个通用结构体类型,以表示表和断点数据。

仅当断点设定设置为显式值等间距时,此属性才会出现。

有关断点和表大小的详细信息,请参阅Breakpoint and Table Size Features in Lookup Tables

属性

全部展开

断点集信息,指定为由 Simulink.lookuptable.Breakpoint 对象组成的向量、字符向量元胞数组或 Simulink.lookuptable.Evenspacing 对象的向量。

如果使用由 Simulink.lookuptable.Breakpoint 对象组成的向量,则每个对象表示一个断点集。要使用由 Simulink.lookuptable.Breakpoint 组成的对象向量,请将属性 BreakpointsSpecification 设置为 'Explicit values'

如果使用字符向量元胞数组,则每个字符向量表示一个 Simulink.Breakpoint 对象的名称。要使用字符向量元胞数组,请将属性 BreakpointsSpecification 设置为 'Reference'

如果使用由 Simulink.lookuptable.Evenspacing 对象组成的向量,则每个对象表示一个断点集。要使用由 Simulink.lookuptable.Evenspacing 组成的对象向量,请将属性 BreakpointsSpecification 设置为 'Even Spacing'

断点集信息的来源,指定为 'Explicit values'(默认值)、'Even spacing''Reference'。请参阅断点 > 设定参数。

数据类型: char

存储查找表和断点集的结构体变量(BreakpointsSpecification 设置为 'Explicit values''Even spacing' 时)或数组变量(设置为 'Reference' 时)的代码生成设置,指定为 Simulink.CoderInfo 对象。您可以使用此嵌入对象指定存储类或自定义存储类。请参阅 Simulink.CoderInfo

结构体变量在生成的代码中使用的结构体类型的设置,指定为 Simulink.lookuptable.StructTypeInfo 对象。

如果将 BreakpointsSpecification 设置为 'Reference',则 Simulink.LookupTable 对象不会作为结构体出现在生成的代码中。代码生成器忽略此属性。

用于生成支持调整表有效大小的代码的选项,指定为 truefalse。请参阅支持可调大小参数。

数据类型: logical

表数据的信息,指定为 Simulink.lookuptable.Table 对象。

复制语义

句柄。要了解句柄类如何影响复制操作,请参阅复制对象

示例

表示一维查找表

  1. 创建名为 LUTObjSimulink.LookupTable 对象。

    LUTObj = Simulink.LookupTable;

  2. 指定表数据。

    LUTObj.Table.Value = [1.1 2.2 3.3 4.4 5.5];

  3. 指定断点集数据。

    LUTObj.Breakpoints(1).Value = [-2 -1 0 1 2];

  4. 指定生成的代码中结构体类型的名称。

    LUTObj.StructTypeInfo.Name = 'myLUTStruct';

您可以在 1-D Lookup Table 模块对话框中使用 LUTObj。在该模块中,将数据设定设置为查找表对象,并将名称设置为 LUTObj

要查看数据,请使用Edit Lookup Table Data with Lookup Table Spreadsheet中所述的属性对话框。

表示二维查找表

  1. 创建名为 LUTObjSimulink.LookupTable 对象。

    LUTObj = Simulink.LookupTable;

  2. 指定表数据。

    LUTObj.Table.Value = [1.1 2.2 3.3 4.4 5.5; ...
                              6.6 7.7 8.8 9.9 10.1];

  3. 指定断点集数据。在 Breakpoints 属性中,使用向量索引 2 设置第二个断点集中的值。

    LUTObj.Breakpoints(1).Value = [-1 1];
    
    LUTObj.Breakpoints(2).Value = [-2 -1 0 1 2];
    

    LUTObj 创建一个 Simulink.lookuptable.Breakpoint 对象作为 Breakpoints 属性值中的第二个向量元素。除 Value 属性外,新对象采用默认属性值。

  4. 指定生成的代码中结构体类型的名称。

    LUTObj.StructTypeInfo.Name = 'myLUTStruct';

您可以在 2-D Lookup Table 模块对话框中使用 LUTObj

要查看数据,请使用Edit Lookup Table Data with Lookup Table Spreadsheet中所述的属性对话框。

建立一个首值为 1 且所有值均匀间隔的第二断点集

要建立一个首值为 1 且所有值均匀间隔的第二断点集,请使用 Breakpoint 对象。

  1. 创建名为 LUTObjSimulink.LookupTable 对象。

    LUTObj=Simulink.LookupTable
    
    LUTObj = 
    
      LookupTable with properties:
    
                           Table: [1×1 Simulink.lookuptable.Table]
        BreakpointsSpecification: 'Explicit values'
                     Breakpoints: [1×1 Simulink.lookuptable.Breakpoint]
              SupportTunableSize: 0
                       CoderInfo: [1×1 Simulink.CoderInfo]
                  StructTypeInfo: [1×1 Simulink.lookuptable.StructTypeInfo]
  2. 将断点属性设置为等间距。

    LUTObj.BreakpointsSpecification='Even spacing'
    
    LUTObj = 
    
      LookupTable with properties:
    
                           Table: [1×1 Simulink.lookuptable.Table]
        BreakpointsSpecification: 'Even spacing'
                     Breakpoints: [1×1 Simulink.lookuptable.Evenspacing]
              SupportTunableSize: 0
                       CoderInfo: [1×1 Simulink.CoderInfo]
                  StructTypeInfo: [1×1 Simulink.lookuptable.StructTypeInfo]
  3. 获取断点的属性。

    LUTObj.Breakpoints(1)
    
    
    ans = 
    
      Evenspacing with properties:
    
             FirstPoint: 0
                Spacing: 1
               DataType: 'auto'
                    Min: []
                    Max: []
                   Unit: ''
         FirstPointName: 'BPFirstPoint1'
            SpacingName: 'BPSpacing1'
        TunableSizeName: 'N1'
            Description: ''
  4. 要设置第一个点属性,请使用 Breakpoint 对象的 FirstPoint 属性。

    LUTObj.Breakpoints(1).FirstPoint=1
  5. 要设置间距属性,请使用 Breakpoint 对象。

    LUTObj.Breakpoints(1).Spacing=2
  6. 获取断点的属性。

    LUTObj.Breakpoints(1)
    
    ans = 
    
      Evenspacing with properties:
    
             FirstPoint: 1
                Spacing: 2
               DataType: 'auto'
                    Min: []
                    Max: []
                   Unit: ''
         FirstPointName: 'BPFirstPoint1'
            SpacingName: 'BPSpacing1'
        TunableSizeName: 'N1'
            Description: ''

控制查找表和断点集的代码生成

创建名为 LUTObjSimulink.LookupTable 对象。

LUTObj = Simulink.LookupTable;

指定表数据。

LUTObj.Table.Value = [1.00 2.25 3.50 4.75 6.00; ...
                          7.25 8.50 9.75 11.00 12.25];

指定断点集数据。在 Breakpoints 属性中,使用数组索引 2 创建一个额外的 Simulink.lookuptable.BreakpointInfo 对象,它表示第二个断点集。

LUTObj.Breakpoints(1).Value = [-1 1];

LUTObj.Breakpoints(2).Value = [-2 -1 0 1 2];

指定查找表和每个断点集的数据类型。

LUTObj.Table.DataType = 'fixdt(1,16,2)';

LUTObj.Breakpoints(1).DataType = 'int16';

LUTObj.Breakpoints(2).DataType = 'int16';

为在生成的代码中存储表数据和断点集的结构体字段指定唯一名称。

LUTObj.Table.FieldName = 'myTable';

LUTObj.Breakpoints(1).FieldName = 'myBPSet1';

LUTObj.Breakpoints(2).FieldName = 'myBPSet2';

使用存储类 ExportedGlobal 从生成的代码中导出结构体变量定义。

LUTObj.CoderInfo.StorageClass = 'ExportedGlobal';

在生成的代码中将结构体类型命名为 LUTStructType。将结构体类型定义导出到名为 myLUTHdr.h 的生成的头文件。

LUTObj.StructTypeInfo.Name = 'LUTStructType';
LUTObj.StructTypeInfo.DataScope = 'Exported';
LUTObj.StructTypeInfo.HeaderFileName = 'myLUTHdr.h';

在模型中的 n-D Lookup Table 模块中,将数据设定设置为 Lookup table object,并将名称设置为 LUTObj

load_system('myModel_LUTObj')
set_param('myModel_LUTObj/Lookup Table','DataSpecification','Lookup table object',...
    'LookupTableObject','LUTObj')

从模型中生成代码。

slbuild('myModel_LUTObj')
Warning: Method 'getInstance' is not defined for class 'CloneDetector.ExclusionEditorUIService' or is removed from MATLAB's search path.
### Starting build procedure for: myModel_LUTObj
### Successful completion of code generation for: myModel_LUTObj

Build Summary

Top model targets built:

Model           Action           Rebuild Reason                                    
===================================================================================
myModel_LUTObj  Code generated.  Code generation information file does not exist.  

1 of 1 models built (0 models already up to date)
Build duration: 0h 0m 54.386s

生成的代码在生成的头文件 myLUTHdr.h 中定义结构体类型 LUTStructType

file = fullfile('myModel_LUTObj_ert_rtw','myLUTHdr.h');
coder.example.extractLines(file,'typedef struct {','} LUTStructType;',1,1)
typedef struct {
  int16_T myBPSet1[2];
  int16_T myBPSet2[5];
  int16_T myTable[10];
} LUTStructType;

该代码使用全局结构体变量 LUTObj 来存储表和断点集数据。表数据基于指定的定点数据类型进行定标。

file = fullfile('myModel_LUTObj_ert_rtw','myModel_LUTObj.c');
coder.example.extractLines(file,'LUTStructType LUTObj = {','/* Variable: LUTObj',1,1)
LUTStructType LUTObj = {
  { -1, 1 },

  { -2, -1, 0, 1, 2 },

  { 4, 29, 9, 34, 14, 39, 19, 44, 24, 49 }
} ;                                    /* Variable: LUTObj

限制

当子系统中的模块使用 Simulink.LookupTableSimulink.Breakpoint 对象时,不能仅对子系统设置数据类型覆盖。此时,请对整个模型设置数据类型覆盖。

版本历史记录

在 R2016b 中推出

全部展开