✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
众所周知,变压器是电力系统之中至关重要的转换设备,其在传输电能方面扮演着自己重要的角色.其一旦发生故障,轻则引起区域性停电事故影响居民的正常生活,重则引起整个电网的瘫痪给社会发展带来严重影响.因此,对于变压器的准确监控以及其相应的故障预警功能的研究显现出其独有的实用价值. 由于变压器本身特性的缘故,电磁量相对而言比较复杂,单一的故障诊断方法已经无法满足精确诊断的需求,针对这一问题,本文将PNN神经网络进行变压器故障诊断.
⛄ 完整代码
% 概率神经网络的分类预测
%% 清空环境变量
clc;
clear all
close all
nntwarn off;
warning off;
%% 数据载入
load data
%% 选取训练数据和测试数据
Train=data(1:23,:);
Test=data(24:end,:);
p_train=Train(:,1:3)';
t_train=Train(:,4)';
p_test=Test(:,1:3)';
t_test=Test(:,4)';
%% 将期望类别转换为向量
t_train=ind2vec(t_train);
t_train_temp=Train(:,4)';
%% 使用newpnn函数建立PNN SPREAD选取为1.5
Spread=1.5;
net=newpnn(p_train,t_train,Spread)
%% 训练数据回代 查看网络的分类效果
% Sim函数进行网络预测
Y=sim(net,p_train);
% 将网络输出向量转换为指针
Yc=vec2ind(Y);
%% 通过作图 观察网络对训练数据分类效果
figure(1)
subplot(1,2,1)
stem(1:length(Yc),Yc,'bo')
hold on
stem(1:length(Yc),t_train_temp,'r*')
title('PNN 网络训练后的效果')
xlabel('样本编号')
ylabel('分类结果')
set(gca,'Ytick',[1:5])
subplot(1,2,2)
H=Yc-t_train_temp;
stem(H)
title('PNN 网络训练后的误差图')
xlabel('样本编号')
%% 网络预测未知数据效果
Y2=sim(net,p_test);
Y2c=vec2ind(Y2);
figure(2)
stem(1:length(Y2c),Y2c,'b^')
hold on
stem(1:length(Y2c),t_test,'r*')
title('PNN 网络的预测效果')
xlabel('预测样本编号')
ylabel('分类结果')
set(gca,'Ytick',[1:5])
⛄ 运行结果
⛄ 参考文献
[1] 赵桂艳, 李一峰. 基于PNN神经网络和聚类分析的变压器故障诊断[J]. 信息系统工程, 2015(6):2.
[2] 易家威. 基于改进神经网络的变压器故障诊断[D]. 南昌大学.
[3] 岳军, 黄诚, 任瑞云. PNN神经网络模型在变压器故障诊断建模中的应用[J]. 自动化技术与应用, 2016(10):3.
[4] 高杰. 基于优化PNN网络的变压器故障诊断研究[D]. 安徽理工大学, 2018.