MATLAB----模糊神经网络

286 篇文章 31 订阅
236 篇文章 15 订阅

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

function f=bpfun()
%Neural Network—bpfun.m
%输入矩阵的范围(数据源)
P=[20 3000;1400 3500;500 3500;];
%创建网络
net=newff(P,[6 1],{'tansig' 'purelin'});
%初始化神经网络
net=init(net);
%两次显示之间的训练步数 默认为25
net.trainParam.show=50;
%lr不能选择太大 太大了会造成算法不收敛 太小了会使训练时间太长
%一般选择0.1~0.01之间
%训练速度
net.trainParam.lr=0.05;
%训练次数 默认为100
net.trainParam.epochs=2000;
%训练时间 默认为inf,表示训练时间不限
net.trainParam.time=5000;
%训练的目标 默认为0
net.trainParam.goal=0.001;
%建立源数据的矩阵
SourceDataConvert=importdata('bp_train_sample_data.dat');
SourceData=SourceDataConvert'
TargetConvert=importdata('bp_train_target_data.dat');
Target=TargetConvert'
%神经网络训练
net=train(net,SourceData,Target)
%显示训练后的各层权重
mat1=cell2mat(net.IW(1,1))
mat2=cell2mat(net.LW(2,1))
%mat3=cell2mat(net.LW(3,2))
%读取仿真文件数据
simulate_data_convert=importdata('bp_simulate_data.dat');
simulate_data=simulate_data_convert';
result=sim(net,simulate_data)
result=result'
grid;
title('bp神经网络:训练次数-输出误差对应关系图');
xlabel('训练次数');
ylabel('误差值');
%打开存储仿真结果的文件  a 追加结果  w+ 清除原有内容后读或写
fid=fopen('result.dat','w+');
if fid==-1
    disp('file open error')
    fclosed(fid);
    return;
else
      ;
end
%仿真的样本数
simulate_num=30;
%存储结果到文件中
for i=1:1:simulate_num
    fprintf(fid,'%f',result(i));
    fprintf(fid,'%s','    ');
end
%换行输入
fprintf(fid,'%s\r\n','');
%fprintf(fid,'%f',20);

%关闭文件
fclose(fid);

%可以把结果文件的数据读出进行操作
matrix=importdata('result.dat');

  • 0
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值