Simulink.Parameter
指定块参数的值、值范围、数据类型和其他特性。
此类使您能够创建workspace objects,然后可以将这些objects用作块参数的值——例如,Gain 模块增益参数的值。您可以在MATLAB的base workspace或model workspace中创建一个Simulink.Parameter。但是,要在model workspace中创建对象,必须将对象存储类设置为“auto”。
通过参数对象,不仅可以指定参数的值,还可以指定参数的其他信息,例如参数的用途、尺寸或最小值和最大值。一些Simulink®产品使用此信息。例如,Simulink和Simulink编码器™ 产品使用通过Simulink.Parameter 指定的信息,以确定参数是否可调。
Simulink执行参数值的范围检查。当Parameter 的对象值超出与其指定的最小值和最大值以及数据类型相对应的范围时,软件会提醒您。
您可以使用Simulink.Parameter的“参数”对话框定义Simulink.Parameter对象。要打开对话框,请在模型资源管理器中,选择base worksapce或model workspace,然后选择“ Add > Simulink Parameter”。
以上是matlab官方解释。
定义一个Parameter,方便数据标定。
我目前知道有两种方法,一种可以在matlab命令行定义,如果要定义一个名为abc的Parameter,那么在命令行输入 abc = Simulink.Parameter,然后就会自动生成一个abc的Parameter,这样在右边的工作区就可以看到abc的 Simulink.Parameter已经生成。
还有一种是直接在model workspace中添加。

然后我们双击右边工作区的abc,就会跳出它的属性窗口,如下图所示。这时候我们就可以在value里编辑这个参数的属性值了。我将值设为0.6,数据类型为single。

然后ctrl+s保存一下,会出现.mat文件的保存界面,保存到工程目录下。

编辑完后进入模型界面,点击Tools->Model Explorer,跳出Model Explorer选项框。
可以看到Base workspace里已经出现了abc。
下面开始搭建最简单模型。拉一个const模块直接连display,value设为abc。


编译一下,发现现在编译是不会通过的。如下图所示。

报了一个未定义变量abc。可是明明已经定义里的。这时候我发现下面还有一个model workspace,点进去看一下。发现里面啥也没有,原因找到了。因为abc没有在model workspace中定义。
要将abc导入workspace,方法有两种,一定是import在matlab中保存的.mat文件。右击model workapce,选择import,然后import之前保存的.mat文件就可以了。

还有一种是直接在model workspace中添加abc。点击model workspace的菜单栏Add > Simulink Parameter。就可以直接添加参数了。我建议还是用第一种方法,因为这样可以保存.mat文件,方便下一次搭模型时加载数据。
最后编译一下不报错,运行一下模型,可以看到已经可以输出我标定的数值了。

本文介绍了Simulink.Parameter的使用,它用于指定Simulink块参数的值和属性。通过Parameter对象,可以定义参数的值、范围、数据类型等,并进行范围检查。创建Parameter可以通过MATLAB命令行或Model Workspace。当在模型中使用Parameter时,需要注意将其导入到Model Workspace,否则编译会失败。通过正确导入和使用Parameter,可以实现数据标定并确保模型的正确运行。

158

被折叠的 条评论
为什么被折叠?



