有没有办法将Simulink块中使用的变量替换为存储在Matlab基础工作区(或模型工作区)中的实际值?
e.g。 在增益块中,“增益”参数设置为“gain_A”。 'gain_A'在基础工作区中定义为'0.5'。 预期的脚本将使用'0.5'替换增益块中的'gain_A'。
我尝试过的方法是使用Simulink.findVars(modelname, 'Name', 'gain_A')
,它将返回一个包含属性的对象,其中所有块都使用变量'gain_A'。但是,它并没有告诉我它用于哪个参数(例如'Gain')。
感谢您的帮助=)
答案 0 :(得分:1)
不确定这是否有效,但是您可以将Simulink.findVars
与get_param
合并,以获取Simulink.findVars
标识的每个块的所有块参数吗?根据{{3}}:
block_parameters = get_param(block_path,'DialogParameters')
然后您可以确定每个变量(例如gain_A
)用于哪个参数。