4

有没有办法用存储在 Matlab 基础工作区(或模型工作区)中的实际值替换 Simulink 模块中使用的变量?

例如,在增益块中,“Gain”参数设置为“gain_A”。“gain_A”在基础工作区中定义为“0.5”。预期脚本将增益块中的“gain_A”替换为“0.5”。

我尝试过的一种方法是使用Simulink.findVars(modelname, 'Name', 'gain_A')它将返回一个对象,该对象包含一个属性,其中包含使用变量“gain_A”的所有块。但是,它并没有告诉我它用于哪个参数(例如“增益”)。

感谢您的帮助 =)

4

1 回答 1

3

不确定这是否可行,但是您可以结合Simulink.findVars使用get_param来获取由 标识的每个块的所有块参数Simulink.findVars吗?根据获取块参数值和属性

block_parameters = get_param(block_path,'DialogParameters')

然后,您可以找出每个变量(例如gain_A)用于哪个参数。

于 2013-07-19T13:26:31.030 回答