主要内容

设置块参数值

块具有数字参数,可以确定它们如何计算输出值。要控制块执行的计算,可以指定参数值。例如,一个获得块有一个获得参数,和一个转移FCN.块具有多个参数,表示传输功能系数。

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

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

  • 通过创建参数对象来控制参数特性,例如数据类型和尺寸。

  • 通过使用数学表达式为代码模拟算法。

使用该设置块参数参数在模型数据编辑器中的选项卡(在造型选项卡,单击模型数据编辑器),物业检查员(在造型标签,下面设计, 点击物业检查员)或块对话框。有关更多信息,请参阅添加块和设置参数.设置块样本时间,请参阅指定采样时间

提示

您可以使用模型资源管理器立即将批量更改变为许多块参数值。有关更多信息,请参阅模型探险家

以编程方式访问参数值

以编程方式访问块参数值,使用get_param.set_param.职能。您可以使用此技术:

  • 以编程方式构造模型。

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

使用脚本扫描模拟之间的参数值,使用金宝appsimulink.simulationInpul.对象而不是get_param.set_param..看优化,估计和扫描块参数值

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

paramValue = get_param ('mymodel /我的常数''价值'
paramvalue = 15.

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

set_param('mymodel /我的常数''价值''25'

有关块参数的程序名称列表,请参阅屏蔽一些参数

有关程序化模拟的更多信息,请参阅以编程方式运行模拟

避免使用get_param.set_param.函数,使用matlab的名称®变量或金宝appSimulink.Parameter.对象作为参数值,并在命令提示符下更改变量或对象的值。看通过创建变量共享和重用块参数值

指定参数值

目标 块参数值 描述

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

2.3

[1.2 2.3 4.5;7.9 8.7 6.5]

2 + 3i

字面数值。指定标量,向量,矩阵或多维数组。用一世指定复杂值。

  • 访问参数值,而无需查找或识别模型中的块。

  • 更改参数值,无需修改模型文件。

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

  • 扫描或调整值时,通过特定名称识别参数。

myvar#

MATLAB变量在工作区中存在。

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

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

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

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

myparam.a.speedvect.

参数结构字段。

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

使用矩阵或阵列变量的一部分。例如,设置a的参数n-d查找表堵塞。

mymatrixparam(:,2)

索引操作。

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

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

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

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

my

参数对象。

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

  • 将参数值表达为已知物理常量之间的数学关系而不是作为未识别的文字编号。

  • 减少模型中的块群。

  • 使用代码而不是块模型模拟模糊或微不足道的计算。

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

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

5 ^ 3.2 - 1/3

MyParam * Myotherparam + Sin(0.78 * Pi)

myfun(15.23)

表达式或自定义功能。

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

通过使用除此之外的数据类型来指定块参数值双倍的

15.23

单(15.23)

my

键入或非型号表达式,数字matlab变量或参数对象。

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

使用参数对象

参数对象是金宝appSimulink.Parameter.您创建的子类的对象和对象。参数对象存在于诸如基础工作区或数据字典的工作区中。

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

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

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

用数学表达式,马铃薯函数和自定义函数

您可以将块参数值设置为调用MATLAB函数和运算符的表达式,如最大限度.您还可以调用您在MATLAB路径上写入的自己的自定义函数。

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

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

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

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

您可以参数化aPID控制器块,使用函数设置参数值。

为了充分利用表达式,请考虑这些提示:

  • 如果使用变量和参数对象,则可以显式模拟变量和对象所代表的实际数量之间的代数关系。使用参数对象中的表达式如下所述使用数学表达式设置变量值

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

其他建模目标的考虑因素

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

目标 功能或产品下载188bet金宝搏 最佳实践
快速运行多个模拟。 金宝appsimulink.simulationInpul.对象和对象SIM功能 使用变量或参数对象设置块参数值。此技术可帮助您将有意义的名称分配给参数,避免必须识别或定位模型中的块。看优化,估计和扫描块参数值
测试期间扫描参数值。 金宝app®TEST™ 使用变量或参数对象设置块参数值。使用迭代和参数重写来运行多个测试。看参数覆盖(金宝appSimulink测试)测试迭代(金宝appSimulink测试)
估计和优化参数值。 金宝app仿真软件优化设计™

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

估计或优化使用除此之外的数据类型的参数双倍的,使用参数对象将值与数据类型分开。

参数估计请参见参数估计(金宝appSimulink设计优化).对于响应优化,请参阅优化模型响应(金宝appSimulink设计优化)

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

使用参数对象设置块参数值。此技术可帮助您在生成的代码中声明和标识可调参数并控制参数数据类型。看在生成的代码中创建可调调校验参数(金宝appSimulink编码器)

使用表达式来设置块参数值时,请避免使用运算符和函数导致生成的代码中的可调性丢失。看可调表达限制(金宝appSimulink编码器)

也可以看看

相关的话题