• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-21
  • 语言: Matlab
  • 标签: MATLAB  

资源简介

BP神经网络用于轴承故障分类,源振动信号文件查找我的资源下载

资源截图

代码片段和文件信息

%%%BP神经网络用于轴承故障分类
%clc;clear
%归一化输入矩阵
input=mapminmax(P‘01);
output=T‘;
data=[input‘output‘];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%下面这段代码可以用于样本的划分
%data是归一化后的数据集,分出训练样本和测试样本
[ndata D] = size(data); %ndata样本数,D维数
R = randperm(ndata);     %1到n这些数随机打乱得到的一个随机数字序列作为索引
test = data(R(1:15):);  %以索引的前15个数据点作为测试样本test
R(1:15) = [];
training = data(R:);       %剩下的数据作为训练样本train
train_input=(training(:1:7))‘;
train_target=(training(:8:11))‘;
test_input=(test(:1:7))‘;
test_target=(test(:8:11));%注意此处没有转置,为了方便统计正确率
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%创建神经网络
net = newff( minmax(train_input)  [17 4]  { ‘tansig‘ ‘logsig‘ }  ‘trainlm‘ ) ;%旧版方法,精度高
net.trainparam.epochs = 1000 ;
net.trainparam.goal = 0.0001 ;
net.trainParam.lr = 0.05 ;
net=train(nettrain_inputtrain_target);
y=sim(nettest_input)‘;
%统计识别正确率
num=0;
for i=1:15
    temp1=y(i:);
    temp2=test_target(i:); 
    disp([‘目标输出=‘num2str(temp2)])
    disp([‘实际输出=‘num2str(temp1)])%放在一起显示
    error=max(abs(

评论

共有 条评论