打开 simulink 模型并更改模型中组件的参数
Opening a simulink model and changing parameters of a component in the model
我有一个 simulink 模型 M,其中有一个 "From Workspace" 类型的组件
在 M 中命名为 "input"。从命令行,我想打开模型 M,然后设置
"Data" 和 "Sample time" 值到我的用户定义值。
我该怎么做?
您需要使用具有通用语法的函数set_param
set_param('ModelName/BlockName','BlockProperty','NewValue');
请注意,第一个输入是块名称,而不是类型,因此如果您的块被称为 'From Workspace' 那么您需要
set_param('ModelName/From Workspace','VariableName','NewMATLABVariableName',...
'SampleTime','NewSampleTimeAsAString');
进一步说明
如果您的块名称分为 2 行,那么您还需要在块名称中包含回车 return,因此您需要
set_param(['ModelName/From',char(10),'Workspace'],'VariableName',...
'NewMATLABVariableName','SampleTime','NewSampleTimeAsAString');
所有参数都设置为字符串,因此您可能需要使用 num2str
将数字时间转换为字符串表示形式。
以上假设模型是开放的。如果不是,那么您需要使用 open_system('YourModelName');
或 load_model('YourModelName');
打开它以将其加载到内存中。
我有一个 simulink 模型 M,其中有一个 "From Workspace" 类型的组件 在 M 中命名为 "input"。从命令行,我想打开模型 M,然后设置 "Data" 和 "Sample time" 值到我的用户定义值。
我该怎么做?
您需要使用具有通用语法的函数set_param
set_param('ModelName/BlockName','BlockProperty','NewValue');
请注意,第一个输入是块名称,而不是类型,因此如果您的块被称为 'From Workspace' 那么您需要
set_param('ModelName/From Workspace','VariableName','NewMATLABVariableName',...
'SampleTime','NewSampleTimeAsAString');
进一步说明
如果您的块名称分为 2 行,那么您还需要在块名称中包含回车 return,因此您需要
set_param(['ModelName/From',char(10),'Workspace'],'VariableName',... 'NewMATLABVariableName','SampleTime','NewSampleTimeAsAString');
所有参数都设置为字符串,因此您可能需要使用
num2str
将数字时间转换为字符串表示形式。以上假设模型是开放的。如果不是,那么您需要使用
open_system('YourModelName');
或load_model('YourModelName');
打开它以将其加载到内存中。