您可以通过防止块参数使用范围之外的值来保护模型设计。例如,如果表示飞机Aileron的角度的参数的值不能是可靠的超过已知的幅度,则可以指定模型中参数的设计最大值。
定点设计器™支持Simulink金宝app®使用范围信息计算最佳精度定点缩放:
可调参数。
通过考虑您打算分配给可调谐参数的值范围来信号。
有关块参数的基本信息,请参阅设置块参数值。
当您为块参数指定值范围时,通常可以选择将信息存储在块(模型文件)或外部变量或参数对象中。根据您的建模目标选择一种技术。
使用相同块的其他参数(如果可用)。例如,您可以控制值范围获得参数的获得块,使用参数最小和参数的最大参数参数属性选项卡。对于其他块,例如一天的查找表和PID控制器,可以使用数据类型标签。
使用这个技巧:
将范围信息存储在模型文件中。
在块中存储定点数据类型信息时存储范围信息(例如,通过设置参数数据类型参数的获得块到定点类型,包括最佳精度缩放)。该技术更清楚地将范围信息与数据类型信息关联起来。
使用参数对象(例如,金宝appSimulink.Parameter.
)设置参数值。您可以使用使用的对象中的范围信息而不是块。最小值
和最大限度
对象的属性。
使用这个技巧:
指定无法存储最小或最大信息的块的范围信息,例如,连续库中的许多块。
指定您在多个块参数之间共享的单个值的范围信息(参见通过创建变量共享和重用块参数值).而不是使用数字matlab®变量,使用参数对象,以便您可以指定最小值
和最大限度
特性。
在参数对象中存储固定点数据类型信息时存储范围信息(通过设置数据类型
属性设置为定点类型,而不是汽车
).该技术更清楚地将范围信息与数据类型信息关联起来。
如果在参数对象中指定范围信息,请考虑从块中删除范围信息。例如,上参数属性选项卡的获得块对话框,设置参数最小和参数的最大来[]
。某些工具(例如固定点工具)使用块中仅在块中指定的范围信息如果未在参数对象中指定范围信息,则才能在块中指定。如果在参数对象中指定范围信息,则该工具将忽略块中指定的范围信息。
有关创建和使用数据对象的基本信息,请参见数据对象。
指定最小值或最大值作为计算为标量实数的表达式双倍的
数据类型。例如,您可以指定最小值获得参数在一个获得通过设置阻止参数最小:
字面数,例如98.884
。隐含地,数据类型是双倍的
。
数字工作区变量(参见通过创建变量共享和重用块参数值),其数据类型为双倍的
。使用此技术在多个数据项之间共享最小值或最大值。
但是,不能使用变量来设置最小值
要么最大限度
参数对象的属性。
若不指定块参数或参数对象的最小值或最大值,请使用空矩阵[]
,这是默认值。
如果块参数的值是一个向量或矩阵,则指定的范围信息应用于向量或矩阵的每个元素。如果任何元素的值超出了指定的范围,模型将生成一个错误。
如果块参数的值是结构的结构或字段,则通过创建一个结构字段为结构字段指定范围信息金宝appSimulink.Parameter.
数据类型是a的对象金宝appsimulink.bus.
对象。使用总线对象中信号元素的属性指定范围信息。有关更多信息,请参见通过创建参数对象控制字段数据类型和特征。
如果块参数的值是复数(i),则指定的范围信息分别应用于复数的实部和虚部。如果数字的任何一部分的值超出范围,则模型生成一个错误。
使用模型数据编辑器(在建模选项卡上,单击模型数据编辑器),您可以为可搜索的,可排序表指定多个块参数和变量的值范围。在这一点参数选项卡,设置改变视图下拉列表设计
并在最小值和最大限度列。
有关模型数据编辑器的详细信息,请参阅使用模型数据编辑器配置数据属性。
要通过防止块参数使用范围之外的值来保护设计,可以使用相同块的其他参数来指定最小和最大信息。如果您或用户在指定的范围之外设置目标参数的值,则模型会生成错误。
块是否允许您为参数指定值范围,请考虑使用参数对象(例如,金宝appSimulink.Parameter.
)设置目标参数的值。使用对象的属性指定范围信息。此技术可帮助您指定用于设置多个块参数值的变量的范围信息。
在型号中使用固定点数据类型时,可以启用Simulink以选择块参数的最佳精度缩放金宝app金宝appSimulink.Parameter.
对象。如果您想要在模拟或执行生成的代码期间通过更改其值来优化这样的参数,那么Simulink选择的定点缩放必须适应您希望分配给参数的值的范围。金宝app
此外,如果您希望更改参数的值,则模型中的信号数据类型必须适应相应的可能信号值的扩展范围。如果使用固定点工具提出和应用模型的固定点数据类型,允许工具准确自动缩放信号,指定可调参数的范围信息。
要指定可调参数的范围信息,请参阅计算最佳精度定点缩放可调块参数。要了解固定点工具如何通过考虑可调参数的值范围来自动播放信号,请参阅Simulink.Parameter金宝app对象的派生范围(定点设计师)。
双倍的
当数据项(信号或参数)使用除此之外的数据类型时双倍的
,在进行比较之前,Simulink将数据项金宝app和每个设计限制(您指定的最小或最大值)转换为非双精度数据类型。这种技术有助于防止产生不必要的、误导性的错误和警告。
然而,Simuli金宝appnk商店的设计限制为双倍的
之前的比较。如果数据项的数据类型的精度高于双倍的
(例如,具有128位字长度和126位分数长度的固定点数据类型,或者更大双倍的
, 和双倍的
不能完全代表设计限制的值,Simulink可以生成意外的警告和错误。金宝app
如果非双精度类型具有更高的精度,考虑将设计极限舍入到离零最远的下一个数字双倍的
可以表示。例如,假设信号在将最大值设置为后,信号会生成错误98.8847692348509014
。在命令提示符处,计算离零最远的下一个数字双倍的
可以表示。
格式长98.8847692348509014 + EPS(98.8847692348509014)
ans = 98.884769234850921
使用结果编号,98.884769234850921
,替换最大值。
如果你有嵌入式编码器®,金宝appSimulink Coder™可以通过考虑您为信号和参数指定的最小值和最大值来优化您从模型生成的代码。该优化可以删除算法代码并影响某些模拟模式的结果,例如SIL或外部模式。有关更多信息,请参见使用指定的最小值和最大值进行优化(嵌入式编码)。