设置块参数值
块具有数值参数,这些参数决定了它们如何计算输出值。要控制块执行的计算,可以指定参数值。例如,获得Block有一个获得参数,以及转移FcnBlock有多个表示传递函数系数的参数。
可以使用数字、变量和表达式来设置块参数值。根据您的建模目标选择一种技术。例如,你可以:
通过创建变量在块和模型之间共享参数值。
通过创建参数对象控制参数特征,如数据类型和维度。
通过使用数学表达式将算法建模为代码。
方法设置块参数参数选项卡中的模型数据编辑器(在建模选项卡上,单击模型数据编辑器)、属性检查器(在建模选项卡,在设计,点击属性检查器),或方块对话框。有关更多信息,请参见添加块和设置参数.要设置块采样次数,请参见指定采样时间.
提示
您可以使用Model Explorer一次性对许多块参数值进行批量更改。有关更多信息,请参见模型浏览器.
以编程方式访问参数值
若要以编程方式访问块参数值,请使用get_param
而且set_param
功能。你可以使用这个技巧:
以编程方式构建模型。
当以编程方式模拟模型时,在模拟运行期间调整参数值。
若要使用脚本在模拟运行之间扫描参数值,请使用金宝app仿真软件。SimulationInput
对象而不是get_param
而且set_param
.看到优化、估计和扫描块参数值.
假设您创建了一个名为myModel
,其中包含常数名为My Constant的块。接下来,使用块对话框设置恒定值参数15
.若要以编程方式返回参数值,请使用函数get_param
.指定块路径和等效的编程参数名,价值
.
paramValue = get_param(“myModel /我的常数”,“价值”)
paramValue = 15
以编程方式更改值,例如为25
,使用函数set_param
.使用字符向量“25”
作为函数的输入。
set_param (“myModel /我的常数”,“价值”,“25”)
有关块参数的编程名称的列表,请参见屏蔽一些参数.
有关编程式模拟的更多信息,请参见以编程方式运行模拟.
避免使用get_param
而且set_param
函数,使用MATLAB的名称®变量或金宝app仿真软件。参数
对象作为参数值,并在命令提示符下更改变量或对象的值。看到通过创建变量共享和重用块参数值.
指定参数值
目标 | 块参数值 | 描述 |
---|---|---|
将参数值存储在模型文件中。 |
|
文字数值。指定标量、向量、矩阵或多维数组。使用 |
|
|
存在于工作空间中的MATLAB变量。 有关更多信息,请参见通过创建变量共享和重用块参数值. |
|
|
参数结构字段。 有关更多信息,请参见在结构中组织相关块参数定义. |
使用矩阵或数组变量的一部分。例如,设置a的参数n-D查找表块。 |
|
索引操作。 |
|
|
参数对象。 有关更多信息,请参见使用参数对象. |
|
|
表达式或自定义函数。 有关更多信息,请参见使用数学表达式,MATLAB函数和自定义函数. |
通过使用其他数据类型指定块参数值 |
|
类型化或非类型化表达式,数值MATLAB变量或参数对象。 有关控制参数数据类型的详细信息,请参见控制块参数数据类型. |
使用参数对象
参数对象为金宝app仿真软件。参数
对象和您创建的子类的对象。参数对象存在于工作空间中,例如基本工作空间或数据字典。
可以使用参数对象定义系统常量。例如,使用一个参数对象来表示地球的半径。使用对象的属性来指定物理单位并记录值的用途。
创建参数对象,为代码生成准备模型。您可以配置参数对象,使其在生成的代码中显示为可调全局变量。还可以通过对象控制参数数据类型。
若要在模型中创建和使用参数对象,请参见数据对象.有关使用变量设置块参数值的信息,请参见通过创建变量共享和重用块参数值.
使用数学表达式,MATLAB函数和自定义函数
可以将块参数值设置为调用MATLAB函数和运算符的表达式,例如罪
而且马克斯
.您还可以调用自己在MATLAB路径上编写的自定义函数。
假设块算法的一部分使用变量来计算算法其余部分使用的单个常数。您可以通过创建多个块来执行计算。
相反,创建一个单一的常数使用MATLAB代码编写的表达式的块。这种技术减少了块算法的大小,提高了可读性。
您可以通过使用表达式代替许多块来对算法的复杂部分建模。若要对现有信号进行操作,请使用数学表达式作为算法块中的参数值,例如获得a的参数获得块。
使用表达式,您还可以调用自定义函数来设置块参数值。假设您编写了一个MATLAB函数,通过接受单个输入数来计算控制算法的最优P、I和D参数。
你可以参数化aPID控制器块通过使用函数来设置参数值。
为了更好地使用表达式,可以考虑以下建议:
如果使用变量和参数对象,则可以显式地为变量和对象所表示的实际数量之间的代数关系建模。在参数对象中使用表达式,如使用数学表达式设置变量值.
在块参数值中编辑表达式时,要导航到函数的文档,请使用按钮后面的参数值。您还可以导航到自定义函数的源代码。
对其他建模目标的考虑
根据建模目标选择一种技术来设置块参数值。
目标 | 特性或产品下载188bet金宝搏 | 最佳实践 |
---|---|---|
快速运行多个模拟。 | 金宝app仿真软件。SimulationInput 对象和sim卡 函数 |
使用变量或参数对象设置块参数值。这种技术可以帮助您为参数分配有意义的名称,并避免必须识别或定位模型中的块。看到优化、估计和扫描块参数值. |
在测试期间扫描参数值。 | 金宝app®测试™ | 使用变量或参数对象设置块参数值。使用迭代和参数重写来运行多个测试。看到参数将覆盖(金宝app仿真软件测试)而且测试迭代(金宝app仿真软件测试). |
估计和优化参数值。 | 金宝appSimulink设计优化™ | 使用变量或参数对象设置块参数值。 估计或优化使用其他数据类型的参数 参数估计请参见参数估计(金宝appSimulink设计优化).有关响应优化,请参见优化模型响应(金宝appSimulink设计优化). |
从模型生成代码。通过SIL/PIL或外部模式模拟外部程序。 | 金宝app仿真软件编码器™ | 使用参数对象设置块参数值。这种技术可以帮助您在生成的代码中声明和识别可调参数,并控制参数数据类型。看到在生成的代码中创建可调校准参数(金宝app仿真软件编码器). 当您使用表达式来设置块参数值时,请避免使用导致在生成的代码中失去可调性的操作符和函数。看到可调表达式限制(金宝app仿真软件编码器). |