本文主要介绍了通过使用MATLAB命令行形式给Simulink模块设置参数并提取结果的过程。
接下来,我将利用无穷大功率电源供电系统受到故障的Simulink仿真图进行介绍,并对三相故障模块进行设置和修改,并最终提取出所有参数。
模型untitled:
三相故障模块初始设置参数:
(Switching times(s):[0.02 0.08])
1、加载模型load_system
首先我们需要在程序中加载模型,需要用到的函数是load_system,格式为:
load_system(‘模型名称’)
在这里,我们的命令为:
load_system(‘untitled’)
(注意:要把我们需要调用的模型放在当前工作路径下,否则会显示没有该文件。)
加载成功后:
2、获取模型参数get_param
可以通过get_param函数来获取模型中某一模块的数据,具体格式为:
get_param(‘模型名称/模块名称’,‘变量名称’)
在我们查看参数值之前,需要知道在该模型模块后台程序中它的变量都是什么。
通过官方文档:
在这里,我们可以使用:
get_param(‘untitled/Three-Phase Fault’,‘ObjectParameters’)
来获取模块中的参数名称:
在这里,我们想获取三相故障模块中的变换时间值,就可以使用:
get_param(‘untitled/Three-Phase Fault’,‘Switchtimes’)
结果:
3、修改参数set_param
修改或设置参数需要用到的函数是set_param,格式为:
set_param(‘模型名称/模块名称’,‘变量名称’,'变量值‘’)
也可以同时设置多个变量:
set_param(‘模型名称/模块名称’,‘变量名称1’,'变量值1‘’,‘变量名称2’,'变量值2‘,……)
接下来,我们修改Switchtimes变量为0.02,则命令为:
set_param(‘untitled/Three-Phase Fault’,‘SwitchTimes’,‘0.02’)
4、运行sim
通过sim函数运行模型,格式为:
sim(‘模型名称’)
如果要在运行时加入数据,则格式为:
sim(‘模型名称’,‘变量名称1’,'变量值1‘,‘变量名称2’,'变量值2‘,……)
在修改参数之前,运行结果的波形图为:
通过命令:
set_param(‘untitled/Three-Phase Fault’,‘SwitchTimes’,‘0.02’)
sim(‘untitled’)
得到结果:
注意:在sim运行后可能会出现以下错误:
这是由于我们可能在进行调试时将模块的对话框打开了,因为我们在整个使用命令条用的过程中都是在不打开Simulink模型搭建器中进行的,这里将它关闭就好了,再重新运行即可。
5、保存结果
如果要将最后结果保存下来,就要在模型中添加“To Workspace”的模块,就在运行之后直接将数据保存到工作区:
它的位置在:
在运行模型后,即可看到工作区中出现了两个数据:
双击后就可以看到数据了:
*附录:官方文档
函数名称 | 功能 |
---|---|
load_system | 将 Simulink 模型加载到内存中 |
get_param | 获取参数名称和值 |
set_param | 设置系统和模块参数值 |
sim | 动态系统仿真 |
感谢大家的参考,有错误的话敬请各位指正!
欢迎大家在评论区讨论~