打开 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');

进一步说明

  1. 如果您的块名称分为 2 行,那么您还需要在块名称中包含回车 return,因此您需要

    set_param(['ModelName/From',char(10),'Workspace'],'VariableName',... 'NewMATLABVariableName','SampleTime','NewSampleTimeAsAString');

  2. 所有参数都设置为字符串,因此您可能需要使用 num2str 将数字时间转换为字符串表示形式。

  3. 以上假设模型是开放的。如果不是,那么您需要使用 open_system('YourModelName');load_model('YourModelName'); 打开它以将其加载到内存中。