【参数辨识】基于粒子群的Bouc–Wen参数辨识matlab代码

简介: 【参数辨识】基于粒子群的Bouc–Wen参数辨识matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

基于模型的磁流变阻尼器阻尼特性原理需要对阻尼器参数进行精确辨识.利用阻尼器的参数辨识方程,使用粒子群优化算法,提出了新的参数辨识算法.消除了最小二乘法计算速度慢,计算量大的局限性,可以实现对阻尼器参数的在线精确辨识.通过Matlab对算法进行仿真,结果表明,该算法能够正确辨识阻尼器参数,具有较好的应用前景.

⛄ 部分代码

function [xm,fv] = PSO(fitness,N,c1,c2,w,M,D)

   %     待优化目标函数:fitness

   %     粒子数目:N

   %     学习因子1:c1

   %     学习因子2:c2

   %     惯性权重:w

   %     最大迭代次数:M

   %     自变量的个数:D

   %     目标函数取最小值时的自变量:xm

   %     目标函数的最小值:fv

format long;

%------初始化种群的个体------------

for i=1:N

   for j=1:D

       x(i,j)=abs(5*randn);  %随机初始化位置

       v(i,j)=abs(5*randn);  %随机初始化速度

   end

end

%------先计算各个粒子的适应度,并初始化Pi和Pg----------------------

for i=1:N

   p(i)=fitness(x(i,:));

   y(i,:)=x(i,:);

end

pg = x(N,:);             %Pg为全局最优

for i=1:(N-1)

   if fitness(x(i,:))<fitness(pg)

       pg=x(i,:);

   end

end

gamma1 = []; beta1 = [];  A = []; c0 = []; k0 = []; alpha1 = [];

%------进入主要循环,按照公式依次迭代------------

for t=1:M

   %t

   for i=1:N

       v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:));

       x(i,:)=x(i,:)+v(i,:);

       if fitness(x(i,:))<p(i)

           p(i)=fitness(x(i,:));

           y(i,:)=x(i,:);

       end

       if p(i)<fitness(pg)

           pg=y(i,:);

       end  

   end

   if t>39 && mod(t,20)==0

       xo=lsqnonlin(fitness,pg);

       if fitness(xo)<fitness(pg)

           pg=xo;

       end

   end

   gamma1 = [gamma1;pg(1)]; beta1 = [beta1;pg(2)];  A = [A;pg(3)]; c0 = [c0;pg(4)]; k0 = [k0;pg(5)]; alpha1 = [alpha1;pg(6)];

   Pbest(t)=fitness(pg);

end

xm = pg';

fv = fitness(pg);

end

⛄ 运行结果

⛄ 参考文献

[1] 胡国良, 林豪, 李刚. 基于粒子群算法和最小二乘法的磁流变阻尼器Bouc-Wen模型参数辨识方法[J]. 磁性材料及器件, 2020, 51(5):7.

[2] 陈玲星, 苏强, 赵新龙. 基于改进PSO的非对称Bouc-Wen模型参数辨识[J]. 压电与声光, 2021, 43(6):834.

[3] 李自成, 徐瑞瑞, 熊涛,等. 基于B-W模型的压电陶瓷执行器参数辨识复合控制方法:, CN202111375923.1[P]. 2022.

[4] 郝晓亮. 基于智能优化算法的Jiles-Atherton磁滞模型参数计算研究[D]. 浙江师范大学, 2016.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料





相关文章
|
3月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
3月前
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
|
19天前
|
存储 人工智能 机器人
【Matlab】Matlab电话拨号音合成与识别(代码+论文)【独一无二】
【Matlab】Matlab电话拨号音合成与识别(代码+论文)【独一无二】
|
2月前
|
机器学习/深度学习 算法 计算机视觉
霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)
霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)
30 2
|
2月前
|
算法
MATLAB | 插值算法 | 一维interpl插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 一维interpl插值法 | 附数据和出图代码 | 直接上手
40 0
|
2月前
|
算法
MATLAB | 插值算法 | 二维interp2插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 二维interp2插值法 | 附数据和出图代码 | 直接上手
82 0
|
2月前
|
算法
MATLAB | 插值算法 | 二维griddata插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 二维griddata插值法 | 附数据和出图代码 | 直接上手
43 0
|
2月前
|
算法
MATLAB | 插值算法 | 一维Lagrange插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 一维Lagrange插值法 | 附数据和出图代码 | 直接上手
25 0
|
3月前
【MFAC】基于紧格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于紧格式动态线性化的无模型自适应控制(Matlab代码)
|
3月前
【数值分析】用幂法计算矩阵的主特征值和对应的特征向量(附matlab代码)
【数值分析】用幂法计算矩阵的主特征值和对应的特征向量(附matlab代码)

热门文章

最新文章