1 简介
介绍了概率神经网络的模型,分析了其特点,并探讨了基于PNN的发动机故障诊断方法.通过MATLAB进行仿真试验,结果表明基于概率神经网络的故障诊断方法可以最大程度地利用故障先验知识,提高发动机故障诊断的准确率.
2 部分代码
% diagnose.m% 柴油机故障诊断%% 清空工作空间clear,clcclose all%% 定义训练样本和测试样本% 故障1pro1 = [1.97,9.5332,1.534,16.7413,12.741,8.3052;1.234,9.8209,1.531,18.3907,13.988,9.1336]';% 故障2pro2 = [0.7682,9.5489,1.497,14.7612,11.497,7.68;0.7053,9.5317,1.508,14.3161,11.094,7.3552]';% 故障3pro3 = [0.8116,8.1302,1.482,14.3171,11.1105,7.4967;0.816,9.0388,1.497,15.0079,11.6242,7.7604]';% 故障4pro4 = [1.4311,8.9071,1.521,15.746,12.0088,7.8909;1.4136,8.6747,1.53,15.3114,11.6297,7.5984]';% 故障5pro5 = [1.167,8.3504,1.51,12.8119,9.8258,6.506;1.3392,9.0865,1.493,15.0798,11.6764,7.8209]';% 正常运转normal = [1.1803,10.4502,1.513,20.0887,15.465,10.2193;1.2016,12.4476,1.555,20.6162,15.755,10.1285]';% 训练样本trainx = [pro1, pro2, pro3, pro4, pro5, normal];% 训练样本的标签trlab = 1:6;trlab = repmat(trlab, 2, 1);trlab = trlab(:)';%% 样本的归一化,s为归一化设置[x0,s] = mapminmax(trainx);%% 显示结果strr = cell(1,6);for i=1:6if res(i) == testlab(i)strr{i} = '正确';elsestrr{i} = '错误';endenddiagnose_ = {'第一缸喷油压力过大','第一缸喷油压力过小', '第一缸喷油器针阀磨损',...'油路堵塞', '供油提前角提前 ','正常'};fprintf('诊断结果:\n');fprintf(' 样本序号 实际类别 判断类别 正/误 故障类型 \n');for i =1:6fprintf(' %d %d %d %s %s\n',...i, testlab(i), res(i), strr{i}, diagnose_{res(i)});end
3 仿真结果

4 参考文献
[1]孙永军, 王福明. 概率神经网络PNN在发动机故障诊断中的应用[J]. 机械工程与自动化, 2007(4):2.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
本文探讨了概率神经网络(PNN)在发动机故障诊断中的应用,通过使用MATLAB进行仿真实验,结果显示PNN能有效利用故障先验知识,显著提高诊断准确率。详细介绍了模型、代码实现及关键部分,最后展示了仿真结果和参考文献。
1157

被折叠的 条评论
为什么被折叠?



