我是Matlab和SIMULINK的新手,我知道这可能很容易 . 但我在互联网上找不到答案 .
我正在构建一个SIMULINK模型(块组),我想将块内的值设置为变量,这样我就可以从m文件或其他东西控制它 . 我怎样才能做到这一点?
在simulink模型中,在常量块的“值”字段中,输入变量名称 . 常量块将如下所示:(见uplim和lowlim)
现在,每当您想要更改变量的值时,请通过m文件执行以下命令:
我们假设变量的名称是压力,新值是5 .
assignin( '基础', '压力',5); set_param('常量块的路径','值','压力');
常量块(或任何simulink块)的路径如下所示:modelname / Constant2(考虑到它是模型的顶层;常量块数可能不同)
正如@rayryeng指出的那样,您只需键入变量的名称来代替块的参数值,然后将使用在Matlab工作空间中设置的变量值 .
每当我这样做时,我喜欢在模型初始化回调函数详细信息here中设置变量的默认值 . 这样你的模型就是可移植的,并且可以独立运行 .
2 回答
在simulink模型中,在常量块的“值”字段中,输入变量名称 . 常量块将如下所示:(见uplim和lowlim)
现在,每当您想要更改变量的值时,请通过m文件执行以下命令:
我们假设变量的名称是压力,新值是5 .
assignin( '基础', '压力',5); set_param('常量块的路径','值','压力');
常量块(或任何simulink块)的路径如下所示:modelname / Constant2(考虑到它是模型的顶层;常量块数可能不同)
正如@rayryeng指出的那样,您只需键入变量的名称来代替块的参数值,然后将使用在Matlab工作空间中设置的变量值 .
每当我这样做时,我喜欢在模型初始化回调函数详细信息here中设置变量的默认值 . 这样你的模型就是可移植的,并且可以独立运行 .