主要内容

指定块参数的最小值和最大值

您可以通过防止块参数使用超出范围的值来保护模型设计。例如,如果表示飞机副翼角度的参数值不可能超过已知的幅度,则可以在模型中为该参数指定设计最大值。

定点设计器™支持Simulink金宝app®使用距离信息计算以下情况的最佳精度定点缩放:

  • 可调参数。

  • 信号,通过考虑您打算分配给可调参数的值范围。

有关块参数的基本信息,请参见设置块参数值

指定参数取值范围

当您为块参数指定值范围时,通常情况下,您可以选择将信息存储在块(模型文件)或外部变量或参数对象中。根据您的建模目标选择一种技术。

  • 如果可用,使用同一块的其他参数。控件的取值范围获得a的参数获得通过使用参数最小而且参数的最大参数参数属性选项卡在块对话框中。对于其他块,例如n-D查找表而且PID控制器,使用数据类型选项卡。

    使用这个技巧:

    • 在模型文件中存储范围信息。

    • 在块中存储定点数据类型信息时存储范围信息(例如,通过设置参数数据类型a的参数获得块转换为定点类型,包括最佳精度缩放)。这种技术更清楚地将范围信息与数据类型信息关联起来。

  • 使用参数对象(例如,金宝app仿真软件。参数),设置参数值。属性在对象中指定范围信息,而不是在块中指定最小值而且马克斯对象的属性。

    使用这个技巧:

    • 为不能存储最小或最大信息的块指定范围信息,例如,连续库中的许多块。

    • 为在多个块参数之间共享的单个值指定范围信息(请参阅通过创建变量共享和重用块参数值).而不是用数字MATLAB®变量时,使用参数对象,以便可以指定最小值而且马克斯属性。

    • 在参数对象中存储定点数据类型信息时(通过设置数据类型属性设置为定点类型,而不是汽车).这种技术更清楚地将范围信息与数据类型信息关联起来。

    如果在参数对象中指定了范围信息,请考虑从块中删除范围信息。例如,在参数属性a的TAB获得块对话框,设置参数最小而且参数的最大[].某些工具(如定点工具)仅在未在参数对象中指定范围信息时才使用在块中指定的范围信息。如果在参数对象中指定了范围信息,工具将忽略在块中指定的范围信息。

    有关创建和使用数据对象的基本信息,请参见数据对象

指定有效范围信息

将最小值或最大值指定为表达式,该表达式计算为标量实数数据类型。属性的最小值获得参数。获得通过设置阻拦参数最小

  • 一种文字数字,如98.884.隐式地,数据类型为

  • 数值工作空间变量(参见通过创建变量共享和重用块参数值)的数据类型为.使用此技术可在多个数据项之间共享最小值或最大值。

    但是,不能使用变量来设置最小值马克斯参数对象的属性。

若要不指定块参数或参数对象的最小值或最大值,请使用空矩阵[],为默认值。

为非标量参数指定范围信息

如果块参数的值是向量或矩阵,则指定的范围信息将应用于向量或矩阵的每个元素。如果任何元素的值超出了指定的范围,模型就会生成一个错误。

如果块参数的值是结构或结构的字段,则通过创建金宝app仿真软件。参数对象,其数据类型为金宝app仿真软件。公共汽车对象。使用总线对象中信号元素的属性指定范围信息。有关更多信息,请参见通过创建参数对象控制字段数据类型和特征

为复值参数指定范围信息

如果块参数的值是复数(i),则指定的范围信息分别应用于复数的实部和虚部。如果数字的任何一部分的值超出了范围,模型就会生成一个错误。

使用模型数据编辑器指定多个参数的范围

使用模型数据编辑器(在建模选项卡上,单击模型数据编辑器),您可以为多个块参数和变量指定一个可搜索、可排序的表的值范围。在参数选项卡,设置改变观点下拉列表设计属性中指定值最小值而且马克斯列。

有关模型数据编辑器的更多信息,请参见使用模型数据编辑器配置数据属性

限制块参数的允许值

要通过防止块参数使用超出范围的值来保护设计,可以使用同一块的其他参数指定最小和最大信息。如果您或您的用户将目标参数的值设置在指定的范围之外,模型将生成一个错误。

块是否允许您为参数指定值范围,请考虑使用参数对象(例如,金宝app仿真软件。参数)设置目标参数的值。使用对象的属性指定范围信息。此技术可帮助您为用于设置多个块参数值的变量指定范围信息。

为可调定点参数指定范围信息

当您在模型中使用定点数据类型时,您可以使Simulink为块参数和选择最佳精度缩放金宝app金宝app仿真软件。参数对象。如果您打算通过在模拟期间或在执行生成的代码期间更改其值来调优这样的参数,那么由Simulink选择的定点缩放必须适应您期望分配给参数的值的范围。金宝app

此外,如果您希望更改参数的值,则模型中的信号数据类型必须适应相应的可能信号值的扩展范围。如果使用定点工具为模型提出和应用定点数据类型,以允许该工具准确地自动缩放信号,请为可调参数指定范围信息。

要为可调参数指定范围信息,请参见计算可调块参数的最佳精度定点缩放.要了解定点工具如何通过考虑可调参数的值范围来自动缩放信号,请参见为Simulink推导范围。金宝app参数对象(定点设计师)

对于精度或范围大于

当数据项(信号或参数)使用的数据类型不是,在比较之前,Simulink将数据项和每金宝app个设计限制(指定的最小值或最大值)强制转换为非双精度数据类型。这种技术有助于防止产生不必要的、误导性的错误和警告。

然而,Simuli金宝appnk将设计限制存储为之前的比较。如果数据项的数据类型的精度高于(例如,具有128位字长和126位分数长度的定点数据类型)或更大的范围,如果不能精确地表示设计极限的值,Simulink可能会产生意想不到的警告和错误。金宝app

如果非双精度类型具有更高的精度,则考虑将设计限制舍入到离零最远的下一个数字可以表示。例如,假设一个信号在将最大值设置为后产生一个错误98.8847692348509014.在命令提示符下,计算离0最远的下一个数字可以表示。

格式98.8847692348509014 + eps(98.8847692348509014)
Ans = 98.884769234850921

使用得到的数字,98.884769234850921,以替换最大值。

优化生成的代码

如果你有嵌入式编码器®金宝app仿真软件编码器™可以通过考虑为信号和参数指定的最小值和最大值来优化从模型生成的代码。这种优化可以删除算法代码,并影响某些模拟模式(如SIL或外部模式)的结果。有关更多信息,请参见使用指定的最小值和最大值进行优化(嵌入式编码)

相关的话题