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站视频的P102分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算法)

常常需要++改动的地方++(因为不同的迭代要求和迭代算法所用的硬件关系,这些参数你需要根据实际情况进行调整)

主程序:

粒子维数、粒子群规模、子程序对应的待优化句柄、迭代次数、速度边界、位置边界

Matlab 复制代码
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模型名称,以及每一次仿真时长(如果需要的话)

Matlab 复制代码
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的主程序,点击运行 ,++迭代寻优完一次屏幕会出现正常的闪烁,然后在它的命令窗口会出现仿真时间。++


基本上就是这些流程

如果帮到了您,可以点一个大大的赞吗?这会对我有很大的帮助。👍

希望我的经历能够给同好们帮助!😀

不清楚的欢迎评论哦!

相关推荐
今天吃饺子9 分钟前
2024年SCI一区最新改进优化算法——四参数自适应生长优化器,MATLAB代码免费获取...
开发语言·算法·matlab
zy张起灵6 小时前
48v72v-100v转12v 10A大功率转换电源方案CSM3100SK
经验分享·嵌入式硬件·硬件工程
Evand J12 小时前
集合卡尔曼滤波(Ensemble Kalman Filter),用于二维滤波(模拟平面上的目标跟踪),MATLAB代码
matlab·平面·目标跟踪
努力的小雨17 小时前
零基础入门gRPC:从 0 实现一个Hello World
经验分享
我是博博啦17 小时前
matlab例题
人工智能·算法·matlab
有过~18 小时前
XviD4PSP视频无损转换器
经验分享·电脑
2402_8713219519 小时前
MATLAB方程组
gpt·学习·线性代数·算法·matlab
催催121 天前
手机领夹麦克风哪个牌子好,哪种领夹麦性价比高,热门麦克风推荐
网络·人工智能·经验分享·其他·智能手机
Matlab程序猿小助手1 天前
【MATLAB源码-第218期】基于matlab的北方苍鹰优化算法(NGO)无人机三维路径规划,输出做短路径图和适应度曲线.
开发语言·嵌入式硬件·算法·matlab·机器人·无人机
cczixun2 天前
局域网协同办公软件,2024安全的协同办公软件推荐
经验分享·其他·政务