MATLAB脚本调用simulink仿真文件及simulink模块参数修改-load_system函数-sim函数-set_param函数

1. load_system

加载系统,添加所需要加载的simulink仿真模型所在的路径和名称。

load_system('pathname\filename');

必须加载系统之后才可以完成后续的运行simulink仿真模型和获取仿真模型参数和设置仿真模型参数的操作。

2. sim

sim('filename',[0 1]);

运行函数名为filename的simulink仿真文件,[0,1]为仿真时长,可根据实际需要进行设置。

3. set_param

set_param('CS/hot1','value','37'); 

CS对应仿真文件的名称.slx,hot1对应.slx文件内模块的名称,这里我给他起名叫做hot1,hot1是一个常数模块,可以通过set_param函数对value这个参数进行设置。这里很奇怪的就是写成‘Constant value’会显示错误,需要写成‘value’才能正确运行。(2019b的版本)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4. get_param

c=get_param('CS/hot1','value')
C=str2num(c)

使用get_param函数可以获得模块的数,但是得到的str格式,如果需要后续计算的话,需要通过str2num函数转化为num格式。
在这里插入图片描述
在这里插入图片描述

5. 应用

通过脚本.m文件运行simulink文件,通过以上介绍的函数,可以用于参数寻优。设定一个寻优参数区间和步长,给定一个约束函数,通过不断的试错仿真,可以得到一个最优函数。

A=(0.1:0.02:0.9);%%参数寻优范围与步长
%%此处为约束函数----输出最佳参数param%%
set_param('CS/hot1','value','param'); %%%将得到的最佳参数设置给仿真模型,并运行该模型
sim('CS',[0 1]);

通过脚本的仿真可以自动对参数进行寻优与试错,大量节省了时间。

  • 11
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: 您好,关于Simulink中互感模块的问题,我可以提供以下几点建议: 1. 确认互感模块参数Simulink中,互感模块参数包括匝数、磁通量、电感等。在使用set_param函数进行赋值时,需要确保参数名称和数据类型的正确性,否则会出现赋值错误的情况。 2. 确认模块连接 在使用互感模块时,需要将其与其他模块连接起来,形成电路。如果连接不正确或者存在误差,也会导致模块参数赋值错误。 3. 调试代码 如果以上两点确认无误,可以通过添加调试代码的方式查看具体的错误信息。例如,可以添加disp函数输出变量值,或者使用Simulink中的调试工具进行查看。 希望对您有所帮助。如果还有问题,请随时提出。 ### 回答2: 在MATLAB Simulink中,互感(Transformer)模块用于模拟电力系统中的互感器。该模块可以用于电路的变压器、共享电感等元件。"set_param"函数MATLAB中用于设置Simulink模型参数函数,但在互感模块中使用"set_param"函数无法正确赋值。 互感模块是一个特殊的子系统,内部由多个子模块组成。因此,使用"set_param"函数仅仅在模块级别上设置参数,并不能正确应用到子模块内部。当我们使用"set_param"函数去设置互感模块参数时,模块的设置会被应用到整个模块层次结构的顶级子模块,而忽略了内部的子模块。 为了正确赋值互感模块参数,我们应该使用其他途径。一种方法是直接打开互感模块的对话框,手动设置参数。这种方式可以保证参数正确应用到互感模块及其内部子模块。 另一种方法是使用MATLAB脚本编程语言,在脚本中设置互感模块参数。这可以通过在脚本中选择互感模块参数对象,然后直接为其赋值来实现。这种方法可以在脚本执行过程中正确应用参数,并可以在后续的模型仿真中使用。 总结而言,由于互感模块的特殊结构,无法通过"set_param"函数正确地赋值。我们应该使用其他方法,如手动设置参数或使用MATLAB脚本编程语言来正确赋值互感模块参数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值