主要内容

设置块参数值

块具有数值参数,这些参数决定它们如何计算输出值。要控制块执行的计算,可以指定参数值。例如,一个获得块有一个获得参数,转移Fcn块有多个参数表示传递函数系数。

您可以使用数字、变量和表达式来设置块参数值。根据您的建模目标选择一种技术。例如,你可以:

  • 通过创建变量在块和模型之间共享参数值。

  • 通过创建参数对象控制参数特征,如数据类型和维度。

  • 用数学表达式将算法建模为代码。

属性设置块参数参数选项卡中的模型数据编辑器(在建模选项卡上,单击模型数据编辑器),物业督察(在建模选项卡,在设计,点击属性检查器),或“块”对话框。有关详细信息,请参阅添加块并设置参数.要设置块样本时间,请参见指定样品时间

提示

您可以使用模型资源管理器一次性批量更改多个块参数值。有关更多信息,请参见模型浏览器

以编程方式访问参数值

要以编程方式访问块参数值,请使用get_paramset_param功能。你可以使用这个技巧:

  • 以编程方式构造模型。

  • 在以编程方式模拟模型时,在模拟运行期间调整参数值。

若要使用脚本在模拟运行之间扫描参数值,请使用金宝app仿真软件。SimulationInput对象,而不是get_paramset_param看见优化、估计和扫描块参数值

假设您创建了一个名为myModel包含一个常数命名为我的常数。接下来,使用块对话框设置恒定值参数15.要以编程方式返回参数值,请使用该函数get_param.指定块路径和等效的编程参数名称,价值

paramValue=get_param(“myModel /我的常数”“价值”
paramValue = 15

以编程方式更改值,例如为25,使用该函数set_param.使用字符向量“25”作为函数的输入。

set_param (“myModel /我的常数”“价值”“25”

有关块参数的编程名称列表,请参见块特定参数

有关编程模拟的更多信息,请参见通过编程的方式运行模拟

避免使用get_paramset_param函数,使用MATLAB的名字®变量或金宝app仿真软件。参数对象作为参数值,并在命令提示符处更改变量或对象的值。看到通过创建变量共享和重用块参数值

指定参数值

目标 块参数值 描述

将参数值存储在模型文件中。

2.3

[1.2 2.3 4.5;7.9 8.7 6.5)

2 + 3

文字数字值。指定标量、向量、矩阵或多维数组。使用指定复数值。

  • 无需在模型中定位或识别块即可访问参数值。

  • 更改参数值而不必修改模型文件。

  • 在块之间或模型之间共享参数值。

  • 在扫描或调优值时,通过特定名称标识参数。

迈瓦尔

在工作空间中存在的MATLAB变量。

有关更多信息,请参见通过创建变量共享和重用块参数值

  • 避免工作区变量之间的名称冲突。

  • 使用层次结构和有意义的名称组织参数值。

  • 减少模型使用的工作空间变量的数量。

myParam.a.SpeedVect

参数结构字段。

有关更多信息,请参见在结构中组织相关块参数定义

使用矩阵或数组变量的一部分。例如,设置a的参数一天的查找表块。

myMatrixParam (: 2)

索引操作。

  • 与参数值分开定义参数特征,例如数据类型、复杂性、单位、允许的值范围和维度。

  • 使用自定义文档定义系统常量。

  • 在生成的代码中创建一个可调参数。

  • 将变量的值设置为包含常量和其他变量的数学表达式。

myParam

参数对象。

有关更多信息,请参见使用参数对象

  • 将参数值表示为已知物理常数之间的数学关系,而不是不可识别的文字数。

  • 减少模型中的块数量。

  • 通过使用代码而不是块来模拟一个模糊或琐碎的计算。

  • 使用MATLAB运算符和函数执行计算。

  • 编写一个自定义的MATLAB函数来计算参数值。

5 ^ 3.2 - 1/3

myParam * myOtherparam + sin(0.78*pi)

myFun (15.23)

表达式或自定义函数。

有关更多信息,请参见使用数学表达式,MATLAB函数,和自定义函数

使用数据类型指定块参数值

15.23

单人(15.23)

myParam

类型化或非类型化表达式、数值型MATLAB变量或参数对象。

有关控制参数数据类型的详细信息,请参见控制块参数数据类型

使用参数对象

参数对象金宝app仿真软件。参数对象和你创建的子类的对象。参数对象存在于工作空间中,例如基本工作空间或数据字典。

可以使用参数对象来定义系统常量。例如,使用参数对象来表示地球的半径。使用对象的属性来指定物理单元并记录值的用途。

创建参数对象来为代码生成准备模型。您可以配置参数对象,使其在生成的代码中显示为可调全局变量。还可以通过对象控制参数数据类型。

要在模型中创建和使用参数对象,请参见数据对象.有关使用变量设置块参数值的信息,请参见通过创建变量共享和重用块参数值

使用数学表达式,MATLAB函数和自定义函数

可以将块参数值设置为调用MATLAB函数和操作符的表达式,例如马克斯.您还可以调用您自己的自定义函数,您在MATLAB路径上编写。

假设块算法的一部分使用变量来计算算法其余部分使用的单个常数。可以通过创建多个块来进行计算。

相反,创建一个常数使用MATLAB代码编写的表达式的块。这种技术减少了块算法的大小并提高了可读性。

通过使用表达式而不是许多块,可以对算法的复杂部分建模。要对现有信号进行操作,请使用数学表达式作为算法块中的参数值,例如获得参数的获得块。

使用表达式,您还可以调用自定义函数来设置块参数值。假设您编写了一个MATLAB函数,通过接受单个输入数字来计算控制算法的最优P、I和D参数。

你可以参数化PID控制器通过使用函数设置参数值来阻止。

要充分利用表达,请考虑以下提示:

  • 如果您使用变量和参数对象,您可以显式地建模变量和对象所代表的真实世界数量之间的代数关系。在参数对象中使用表达式,如使用数学表达式设置变量值

  • 当您在块参数值中编辑表达式时,要导航到函数的文档,请使用按钮在参数值旁边。您还可以导航到自定义函数的源代码。

其他建模目标的考虑

根据您的建模目标选择一种技术来设置块参数值。

目标 功能或产品下载188bet金宝搏 最佳实践
快速运行多个模拟。 金宝app仿真软件。SimulationInput对象和sim卡函数 使用变量或参数对象设置块参数值。这种技术帮助您为参数分配有意义的名称,并避免标识或定位模型中的块。看到优化、估计和扫描块参数值
测试时扫描参数值。 金宝app®测试™ 使用变量或参数对象设置块参数值。使用迭代和参数替代运行多个测试。请参阅参数将覆盖(金宝app仿真软件测试)测试迭代(金宝app仿真软件测试)
估计和优化参数值。 金宝appSimulink设计优化™

使用变量或参数对象设置块参数值。

估计或优化使用非。数据类型的参数,使用参数对象将值与数据类型分开。

有关参数估计,请参见参数估计(金宝app仿真软件设计优化).有关响应优化,请参见优化模型的响应(金宝app仿真软件设计优化)

从模型生成代码。通过SIL/PIL或外部模式模拟模拟外部程序。 金宝appSimulink编码器™

使用参数对象设置块参数值。这种技术可以帮助您在生成的代码中声明和识别可调参数,并控制参数数据类型。看到在生成的代码中创建可调谐校准参数(金宝app仿真软件编码器)

当您使用表达式来设置块参数值时,请避免使用导致生成代码中失去可调性的操作符和函数。看到可调表达的局限性(金宝app仿真软件编码器)

另请参阅

相关话题