非线性质量弹簧阻尼器的神经网络仿真研究(Matlab代码&Simulink仿真实现)

简介: 非线性质量弹簧阻尼器的神经网络仿真研究(Matlab代码&Simulink仿真实现)

💥1 概述

非线性质量弹簧阻尼器(Nonlinear Mass-Spring-Damper,NMSD)是一种常见的振动控制装置,广泛应用于工程结构的减震和振动控制中。为了进行NMSD的神经网络仿真研究,以下步骤进行:


1. 数据收集:收集NMSD系统的输入和输出数据。输入可以是外部激励力或加速度,输出可以是系统的位移、速度或加速度响应。


2. 数据预处理:对收集到的数据进行预处理,包括数据清洗、滤波、降采样等。确保数据的质量和准确性。


3. 神经网络模型选择:根据仿真的目标和问题特点,选择合适的神经网络模型。常用的模型包括多层感知机(Multi-Layer Perceptron,MLP)、卷积神经网络(Convolutional Neural Network,CNN)等。


4. 数据划分:将数据集划分为训练集、验证集和测试集。通常采用交叉验证的方法,确保模型的泛化能力。


5. 网络训练:使用训练集对选定的神经网络模型进行训练。可以采用梯度下降法等优化算法来最小化损失函数,调整网络的权重和参数。


6. 模型评估:使用验证集评估训练得到的模型的性能,包括准确度、误差等指标。如果需要改进模型,可以通过调整网络结构、超参数等来优化模型。


7. 模型测试:使用测试集对优化后的模型进行测试,评估其在未见过的数据上的性能表现。可以比较模型的预测结果和实际观测值,分析模型的准确度和可靠性。


在进行非线性质量弹簧阻尼器神经网络仿真研究时,需要充分理解NMSD系统的原理和特性,并对神经网络的训练过程和参数调整有一定的了解。同时,根据具体问题的需求,可以进行更加深入和复杂的模型设计与研究。


📚2 运行结果

主函数代码:

function[]=main()
close all
clear all
clc
%Call network creating functions
Bnet=NNdamper();
Snet=NNspring();
close all
%Time
timestep=.1;
t=0:timestep:5;
st=size(t,2);
%Choice of Forcing Function
F=2*sin(2*t).*exp(-t/2);
for i=floor(st/2):st
F(1,i)=0;
end
%F=zeros(size(t));
%plot(t,F)
%size init.
pos=zeros(size(t));
vel=pos;
B=pos;
K=pos;
D=pos;
pdot_real=pos;
p_real=pos;
pos_real=pos;
vel_real=pos;
p=pos;
pdot=pos;
%I.C's!
pos(1)=0;%redundant but clear, ok?redundant but clear, ok?
vel(1)=0;
pos_real(1)=pos(1);
vel_real(1)=vel(1);
mass=5;%tons!
p(1)=vel(1)*mass;
p_real=p(1);
K0=sim(Snet,0);% In order to cancel(reduce) steady state error due to neural nets.
B0=sim(Bnet,0);
for i=1:size(t,2)-1;
    D(i)=Dtanal(i);
    % D(i)=0;
    K(i)=sim(Snet,pos(i));
    B(i)=sim(Bnet,vel(i));
    pdot(i+1)=F(1,i)+D(i)-K(i)-B(i)+K0+B0;
    %Momentum integrator
    p(i+1)=p(i)+pdot(i+1)*timestep;
    vel(i+1)=p(i)/mass;
    %Vel integrator
    pos(i+1)=pos(i)+vel(i+1)*timestep;
end
%Real solution
for i=1:size(t,2)-1;
    pdot_real(i+1)=F(1,i)+D(i)-Fxanal(pos_real(i))-Bvanal(vel_real(i));
    %Momentum integrator
    p_real(i+1)=p_real(i)+pdot_real(i+1)*timestep;
    vel_real(i+1)=p_real(i)/mass;
    %Vel integrator
    pos_real(i+1)=pos_real(i)+vel_real(i+1)*timestep;
end
%-------------------------------------------------
figure(2)
subplot(3,1,3);
plot(t,pdot/mass,'+',t,pdot_real/mass);
legend('acc','acc real');
subplot(3,1,2);
plot(t,vel,'+',t,vel_real);
legend('v','v real');
subplot(3,1,1);
plot(t,pos,'+',t,pos_real);
legend('p','p real');
%-------------------------------------------------
figure(3)
subplot(4,1,1);
plot(t,K,'+',t,Fxanal(pos));
legend('Spring Force','Spring Force real for NN pos');
subplot(4,1,2);
plot(t,B,t,Bvanal(vel));
legend('Damper force','Damper force real for NN vel')
subplot(4,1,3);
plot(t,p,t,p_real);
legend('p','p real')
subplot(4,1,4);
plot(t,pdot,'+',t,pdot_real);
legend('pdot','pdot_real');
figure(4)
a=linspace(-2,2);
subplot(1,2,1)
plot(a,sim(Snet,a),a,Fxanal(a))
legend('k nn', 'k real')
subplot(1,2,2)
plot(a,sim(Bnet,a),a,Bvanal(a))
legend('B nn', 'B real')
figure(5)
plot(t,D)
legend('Disturbance')


🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]谭蔚,贾占斌,聂清德.弹簧阻尼器在塔器防振中的应用[J].化学工程,2013,41(12):16-19+34.


[2]周瑜,李敬豪.基于自适应弹簧阻尼器的变频凝泵低频共振治理方法研究[J].科技风,2023(07):58-61.DOI:10.19392/j.cnki.1671-7341.202307019.


[3]梁红玉,屈铁军.基于弹簧阻尼器的风机桥架的减振设计[J].北方工业大学学报,2011,23(01):84-88.


🌈4 Matlab代码、Simulink仿真实现

相关文章
|
17天前
|
缓存 算法 物联网
基于AODV和leach协议的自组网络平台matlab仿真,对比吞吐量,负荷,丢包率,剩余节点个数,节点消耗能量
本系统基于MATLAB 2017b,对AODV与LEACH自组网进行了升级仿真,新增运动节点路由测试,修正丢包率统计。AODV是一种按需路由协议,结合DSDV和DSR,支持动态路由。程序包含参数设置、消息收发等功能模块,通过GUI界面配置节点数量、仿真时间和路由协议等参数,并计算网络性能指标。 该代码实现了节点能量管理、簇头选举、路由发现等功能,并统计了网络性能指标。
138 73
|
19小时前
|
安全 调度
电力系统的负荷损失和潮流计算matlab仿真,对比最高度数,最高介数以及最高关键度等节点攻击
本课题研究节点攻击对电力系统稳定性的影响,通过模拟最高度数、最高介数和最高关键度攻击,对比不同攻击方式下的停电规模。采用MATLAB 2022a 进行系统仿真,核心程序实现线路断开、潮流计算及优化。研究表明,节点攻击会导致负荷损失和系统瘫痪,对电力系统的安全构成严重威胁。通过分析负荷损失率和潮流计算,提出减少负荷损失的方法,以提升电力系统的稳定性和安全性。
|
19小时前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
该算法结合了遗传算法(GA)与分组卷积神经网络(GroupCNN),利用GA优化GroupCNN的网络结构和超参数,提升时间序列预测精度与效率。遗传算法通过模拟自然选择过程中的选择、交叉和变异操作寻找最优解;分组卷积则有效减少了计算成本和参数数量。本项目使用MATLAB2022A实现,并提供完整代码及视频教程。注意:展示图含水印,完整程序运行无水印。
|
18小时前
|
编解码 算法 数据挖掘
基于MUSIC算法的六阵元圆阵DOA估计matlab仿真
该程序使用MATLAB 2022a版本实现基于MUSIC算法的六阵元圆阵DOA估计仿真。MUSIC算法通过区分信号和噪声子空间,利用协方差矩阵的特征向量估计信号到达方向。程序计算了不同角度下的MUSIC谱,并绘制了三维谱图及对数谱图,展示了高分辨率的DOA估计结果。适用于各种形状的麦克风阵列,尤其在声源定位中表现出色。
|
6天前
|
传感器 算法 C语言
基于无线传感器网络的节点分簇算法matlab仿真
该程序对传感器网络进行分簇,考虑节点能量状态、拓扑位置及孤立节点等因素。相较于LEACH算法,本程序评估网络持续时间、节点死亡趋势及能量消耗。使用MATLAB 2022a版本运行,展示了节点能量管理优化及网络生命周期延长的效果。通过簇头管理和数据融合,实现了能量高效和网络可扩展性。
|
3天前
|
算法 数据挖掘
基于粒子群优化算法的图象聚类识别matlab仿真
该程序基于粒子群优化(PSO)算法实现图像聚类识别,能识别0~9的数字图片。在MATLAB2017B环境下运行,通过特征提取、PSO优化找到最佳聚类中心,提高识别准确性。PSO模拟鸟群捕食行为,通过粒子间的协作优化搜索过程。程序包括图片读取、特征提取、聚类分析及结果展示等步骤,实现了高效的图像识别。
|
1天前
|
算法 数据安全/隐私保护
织物图像的配准和拼接算法的MATLAB仿真,对比SIFT,SURF以及KAZE
本项目展示了织物瑕疵检测中的图像拼接技术,使用SIFT、SURF和KAZE三种算法。通过MATLAB2022a实现图像匹配、配准和拼接,最终检测并分类织物瑕疵。SIFT算法在不同尺度和旋转下保持不变性;SURF算法提高速度并保持鲁棒性;KAZE算法使用非线性扩散滤波器构建尺度空间,提供更先进的特征描述。展示视频无水印,代码含注释及操作步骤。
|
6天前
|
算法 数据安全/隐私保护
星座图整形技术在光纤通信中的matlab性能仿真,分别对比标准QAM,概率整形QAM以及几何整形QAM
本文介绍了现代光纤通信系统中的星座图整形技术,包括标准QAM、概率整形QAM和几何整形QAM三种方法,并对比了它们的原理及优缺点。MATLAB 2022a仿真结果显示了不同技术的效果。标准QAM实现简单但效率有限;概率整形QAM通过非均匀符号分布提高传输效率;几何整形QAM优化星座点布局,增强抗干扰能力。附带的核心程序代码展示了GMI计算过程。
15 0
|
18天前
|
算法
基于ACO蚁群优化的UAV最优巡检路线规划算法matlab仿真
该程序基于蚁群优化算法(ACO)为无人机(UAV)规划最优巡检路线,将无人机视作“蚂蚁”,巡检点作为“食物源”,目标是最小化总距离、能耗或时间。使用MATLAB 2022a版本实现,通过迭代更新信息素浓度来优化路径。算法包括初始化信息素矩阵、蚂蚁移动与信息素更新,并在满足终止条件前不断迭代,最终输出最短路径及其长度。
|
4月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】

热门文章

最新文章