当前位置: 首页 > news >正文

模糊神经网络机械故障诊断(MATLAB代码)

效果

用训练好的模糊神经网络对机械故障进行诊断,根据网络的预测值得到机械的技术状态。预测值小于 1.5 时为正常状态,预测值在 1.5~2.5 之间时为曲轴轴承轻微异响,预测值在 2.5~3.5 之间时为曲轴轴承严重异响预测值在 3.5~4.5 之间时为连杆轴承轻微异响,预测值大于 4.5 时为连杆轴承严重异响。

y是真实标签,yt是预测标签

模糊神经网络代码

clear all; %下载数据 load data_fnn; %网络结构 I=9; %输入节点 M=18; %隐含节点 O=1; %输出节点 maxgen=10000; %迭代次数 xite=0.07; %网络学习率 a0=0.3; b0=0.6; Ek=1e-15; %误差 %初始化模糊神经网络参数 p0=a0*ones(M,1);p0_1=p0; p1=a0*ones(M,1);p1_1=p1; p2=a0*ones(M,1);p2_1=p2; p3=a0*ones(M,1);p3_1=p3; p4=a0*ones(M,1);p4_1=p4; p5=a0*ones(M,1);p5_1=p5; p6=a0*ones(M,1);p6_1=p6; p7=a0*ones(M,1);p7_1=p7; p8=a0*ones(M,1);p8_1=p8; p9=a0*ones(M,1);p9_1=p9; %初始化模糊隶属度参数 c=0.8+b0*rands(M,I);c_1=c; b=0.8+b0*rands(M,I);b_1=b; %训练数据归一化 [inputn,inputps]=mapminmax(input_train); [outputn,outputps]=mapminmax(output_train); %----------------------------------------用训练样本训练模糊神经网络-------------------------------------------- [n,m]=size(input_train); EE=100; p=1; while p<=maxgen && EE>=Ek for k=1:m %m 样本个数 %提取训练样本 x=inputn(:,k); %输入参数模糊化 for i=1:I for j=1:M u(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i)); end end %模糊隶属度计算 for i=1:M w(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i)*u(7,i)*u(8,i)*u(9,i); end addw=sum(w); %输出计算 for i=1:M yi(i)=p0_1(i)+p1_1(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4)+p5_1(i)*x(5)+p6_1(i)*x(6)+p7_1(i)*x(7)+p8_1(i)*x(8)+p9_1(i)*x(9); end addyw=0; addyw=yi*w'; yn(k)=addyw/addw; e(k)=outputn(k)-yn(k); %系数p修正值计算 d_p=zeros(M,1); for i=1:M d_p(i)=xite*e(k)*w(i)/addw; end %系数b修正值计算 d_b=0*b; for i=1:M for j=1:I d_b(i,j)=xite*e(k)*(yi(i)*addw-addyw)*(x(j)-c(i,j))^2*w(i)/(b(i,j)^2*addw^2); end end %c的修正值计算 d_c=0*c; for i=1:M for j=1:I d_c(i,j)=xite*e(k)*(yi(i)*addw-addyw)*2*(x(j)-c(i,j))*w(i)/(b(i,j)*addw^2); end end %系数修正 p0_1=p0_1+d_p; p1_1=p1_1+d_p*x(1); p2_1=p2_1+d_p*x(2); p3_1=p3_1+d_p*x(3); p4_1=p4_1+d_p*x(4); p5_1=p5_1+d_p*x(5); p6_1=p6_1+d_p*x(6); p7_1=p7_1+d_p*x(7); p8_1=p8_1+d_p*x(8); p9_1=p9_1+d_p*x(9); %隶属度参数修正 b=b+d_b; c=c+d_c; end for k=1:m %m 样本个数 %提取训练样本 x=inputn(:,k); %输入参数模糊化 for i=1:I for j=1:M u(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i)); end end %模糊隶属度计算 for i=1:M w(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i)*u(7,i)*u(8,i)*u(9,i); end addw=sum(w); %输出计算 for i=1:M yi(i)=p0_1(i)+p1_1(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4)+p5_1(i)*x(5)+p6_1(i)*x(6)+p7_1(i)*x(7)+p8_1(i)*x(8)+p9_1(i)*x(9); end addyw=0; addyw=yi*w'; yn(k)=addyw/addw; end EE=(1/2)*sumsqr(outputn-yn) E(p)=EE; p=p+1; end EE,p y=mapminmax('reverse',yn,outputps) epoch=1:size(E,2); figure plot(epoch,E,'-r'); title('误差变化曲线');xlabel('步数');ylabel('误差'); %----------------------------------------------测试样本网络预测----------------------------------------- %输入数据归一化 inputn_test=mapminmax('apply',input_test,inputps); [n,m]=size(input_test); %网络预测 for k=1:1:m x=inputn_test(:,k); %输入参数模糊化 for i=1:I for j=1:M u(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i)); end end %模糊隶属度计算 for i=1:M w(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i)*u(7,i)*u(8,i)*u(9,i); end addw=sum(w); %输出计算 for i=1:M yi(i)=p0_1(i)+p1_1(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4)+p5_1(i)*x(5)+p6_1(i)*x(6)+p7_1(i)*x(7)+p8_1(i)*x(8)+p9_1(i)*x(9); end addyw=0; addyw=yi*w'; %网络预测值 ytn(k)=addyw/addw; end %预测值反归一化 yt=mapminmax('reverse',ytn,outputps) #代码:https://mbd.pub/o/bread/mbd-ZJyTmZZw
http://www.jsqmd.com/news/343244/

相关文章:

  • 解析muduo源码之 Poller.h Poller.cc
  • 毕业答辩PPT别发愁!这5款工具10分钟搞定排版,实测效率翻倍!
  • 智能街景识别之门头识别 广告牌识别 智慧城市治理 街道门头治理 广告图像识别第10476期 YOLO格式+voc图像格式 深度学习
  • Eureka在大数据领域的自动化部署方案
  • PHP毕设选题推荐:基于php+vue的高校资助管理系统的设计与实现基于PHP的高校学生资助管理信息系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 智泊AI大模型课程怎么样?
  • GDPR实施后,大数据分析该如何合法进行?
  • 多线程安全与通信问题
  • 异步批处理优化:DeepSeek API调用成本降低60%实战技巧
  • 2026代码趋势前瞻:DeepSeek-V4 mHC架构实操与复杂工程逻辑无缝转化之道
  • [信息论与编码理论专题-14]:数字通信系统的核心目标是高效、可靠地传输信息,而信息论正是为解决这一根本问题而诞生的。因此,信息论首先在通信领域得到系统性应用,并成为现代数字通信系统的理论基石。
  • 苹果“折叠矩阵”谋划:从口袋方块到20寸工作站,柔性形态的全新升级!
  • [信息论与编码理论专题-17]:信息熵是信源进行无损编码时,平均码长所能达到的理论下限。各事件的概率决定了其在最优变长编码(如霍夫曼编码)中的码长:概率越大,码长越短;概率越小,码长越长。
  • Promise 未捕获 reject 错误处理指南
  • Clawdbot贾维斯,2026微信AI合规方案!企业微信+AI助理零封号部署(官方接口版)
  • 基础版够用吗?10款AI效率加速器的专业功能对比
  • AI效率工具升级指南:10款产品的专业版功能解析
  • 10款AI工具对比:基础版与专业版的功能差异一览
  • 解锁AI效率工具的高级功能:10款专业版优势分析
  • Java反序列化CommonsCollections篇CC6-最好用的CC链
  • 基于AI的软件工程毕设方案:8款工具优化写作与开发流程
  • 告别繁琐!GISBox一键搞定地形下载与3DTiles导出,效率提升90%
  • Excel周数计算终极方案:用数字调节钮与数组公式构建动态日期分析系统
  • 从基础到专业:10款AI效率加速器的功能升级详解
  • 吐血整理!大模型基础知识点全梳理(非常详细),含学习资料包。
  • 细胞电生理仿真软件:GENESIS_(6).模型构建基础:膜和通道
  • 后端的学习
  • Graph-O1:基于蒙特卡洛树搜索与强化学习的文本属性图推理框架
  • 如何在 Vim 启用行号显示和语法高亮机制
  • 《透视 ImGui:从底层原理到面试通关》第九讲:多视图与 Docking —— 构建专业级工具界面