本文主要是介绍Matlab/Simulink和AMEsim联合仿真(以PSO-PID算法为例),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
安装软件和配置环境变量
Matlab/Simulink和AMEsim联合仿真详细流程
非常重要的一点
Simulink模型和AMEsim模型用S-Function建立连接
从AMEsim软件打开Matlab
Matlab里的设置
Matlab的.m文件修改(对于PSO-PID算法)
运行程序
我印象中好像做过Matlab/Simulink和AMEsim联合仿真的分享似的,但翻看了我之前上传的文章又没有,所以这篇文章主要是记录以Simulink为主的Simulink和AMEsim联合仿真以及操作流程。
安装软件和配置环境变量
我当时学习主要是看B站的一个UP主上传的视频,目前按照他的方法安装和配置环境变量进行联合仿真,都是可以正常进行的。(只要看软件安装和配置环境,他的例子可以不看,毕竟是要搭建自己的模型)
B站视频:🚪👉:Adams,AMESim,Matlab联合仿真入门
安装包的话在网络上找一找,我的软件版本分别是:
Simcenter Amesim 2020.1
Visual Studio 2019
matlab R2019b
电脑是Windows 11,64位
看了很多网上的资料,AMEsim与Simulink联合仿真的时候用Microsoft Visual Studio C++编译器比较好。(GNU GCC 64bit是AMEsim自带的。)安装顺序最好是1Visual Studio-2 Amesim-3 matlab。
Matlab/Simulink和AMEsim联合仿真详细流程
※非常重要的一点
无论是你的液压模型还是Simulink模型还是matlab的.m文件,都放在一个文件夹下,这个文件夹命名为你需要仿真的项目,要用英文命名,路径不能出现中文!!!
Simulink模型和AMEsim模型用S-Function建立连接
B站视频的P10在2分40秒有介绍怎能分别在两个软件里面建立S-Function模块,附上链接。
🚪👉:Matlab为主的AMESim和Matlab联合仿真
我的另外两篇文章也有对S-Function的涉及,感兴趣的可以看看。
🚪👉:AMEsim和Simulink联合仿真生成新的.mexw64液压模型文件
🚪👉:AMEsim第四步simulation报错unable to create an executable for the system解决方法
从AMEsim软件打开Matlab
建立好的液压模型进入第四阶段(Sketch草图-Submodel子模型-Parameter参数-Simulation仿真)即Simulation仿真模式
按理来说只要进入仿真模式就行,但是把上图都点上,以防万一。
通过AMEsim上方工具栏Tools-Matlab打开Matlab软件。
Matlab里的设置
把你刚刚保存的文件夹地址复制一下,输入到下图的位置中回车;
返回上一级列表,把这个文件夹先从路径中删除再从路径中添加(为了确保你的文件夹在仿真的路径中);
“设置路径”设置,把最新的路径保存。
Matlab的.m文件修改(对于PSO-PID算法)
常常需要改动的地方(因为不同的迭代要求和迭代算法所用的硬件关系,这些参数你需要根据实际情况进行调整)
主程序:
粒子维数、粒子群规模、子程序对应的待优化句柄、迭代次数、速度边界、位置边界
Dim = 5; % 维数
SwarmSize = 100; % 粒子群规模
ObjFun = @PSO_FuzzyPID; % 待优化函数句柄
MaxIter = 200; % 最大迭代次数
MinFit = 0.0001; % 最小适应值
Vmax = 1;
Vmin = -1;
Ub = [2 2 10 3 4]; %边界最大值
Lb = [0 0 0 0 0]; %边界最小值
子程序:
更改自己建立的Simulink模型名称,以及每一次仿真时长(如果需要的话)
function z=PSO_FuzzyPID(x) %function的名字要与文件名一样
assignin('base','Kup',x(3));
assignin('base','Kui',x(4));
assignin('base','Kud',x(5));
[t_time,x_state,y_out]=sim('PSO_FuzzyPIDModel',[0,1]); %需要仿真的simulink模型,与其名字一样
z=y_out(end,1); %返回性能指标输出矩阵
我的另外几篇相关PSO算法联合仿真推荐,感兴趣的可以看看。
🚪👉:基于PSO算法优化PID参数的一些问题
🚪👉:PSO算法寻优模糊PID五个量化/比例因子参数(附代码)
🚪👉:PSO_GA混合算法优化PID参数(附代码)
运行程序
最后一步,是在Matlab打开PSO-PID的主程序,点击运行,迭代寻优完一次屏幕会出现正常的闪烁,然后在它的命令窗口会出现仿真时间。
基本上就是这些流程
如果帮到了您,可以点一个大大的赞吗?这会对我有很大的帮助。👍
希望我的经历能够给同好们帮助!😀
不清楚的欢迎评论哦!
这篇关于Matlab/Simulink和AMEsim联合仿真(以PSO-PID算法为例)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!