BP神经网络的MATLAB源码
%BP神经网络预测气象数据(气温、降水和气压)
%作者:谭帅帅 西安电子科技大学
%测试平台 MATLAB7.0
clear all;
DataSet = xlsread('bp_ds.xls','sheet1','c1:E361');%读取预处理过的信息age,province,score
DataSet(:,1)=DataSet(:,1)./10;DataSet(:,2)=DataSet(:,2)./20;DataSet(:,3)=DataSet(:,3)./10000;
nDataSet = xlsread('bp_nds.xls','sheet1','C2:E13');%目标训练样本
nDataSet(:,1)=nDataSet(:,1)./10;nDataSet(:,2)=nDataSet(:,2)./20;nDataSet(:,3)=nDataSet(:,3)./10000;
TestSet = xlsread('bp_td.xls','sheet1','C2:E324');%测试样本
TestSet(:,1)=TestSet(:,1)./10;TestSet(:,2)=TestSet(:,2)./20;TestSet(:,3)=TestSet(:,3)./10000;
nTestSet = xlsread('bp_ntd.xls','sheet1','C2:E13')%目标测试样本
nTestSet(:,1)=nTestSet(:,1)./10;nTestSet(:,2)=nTestSet(:,2)./20;nTestSet(:,3)=nTestSet(:,3)./10000;
net = newff(minmax(DataSet),[90,12],{'tansig','purelin'},'traincgf');
net.trainParam.epochs = 10000;%训练次数
net.trainParam.goal = 0.005;%误差
net.trainParam.show = 500;% 训练显示间隔
net = train(net,DataSet,nDataSet);%训练数据
Tar = sim(net,DataSet);%Tar为神经网络预测的结果
x = [1:1:12];
temp = Tar';%转置
temp1 = temp(1,:).*10;%温度
temp2 = temp(2,:).*20;%降水
temp3 = temp(3,:).*10000;%气压
ntemp = nTestSet';
ntemp1 = ntemp(1,:).*10;
ntemp2 = ntemp(2,:).*20;
ntemp3 = ntemp(3,:).*10000;
%subplot(2,2,1);
figure(1);
plot(x,temp1,x,ntemp1);
title('2009温度预测比较');
xlabel('温度');ylabel('月份');
legend('预测曲线','实际曲线');
grid on;
%subplot(2,2,2);
figure(2);
plot(x,temp2,x,ntemp2);
title('2009降水预测比较');
xlabel('降水');ylabel('月份');
legend('预测曲线','实际曲线');
grid on;
%subplot(2,2,3);
figure(3);
plot(x,temp3,x,ntemp3);
title('2009气压预测比较');
xlabel('气压/pa');ylabel('月份');
legend('预测曲线','实际曲线');
grid on;
相关文章
- Atitit java c# php c++ js跨语言调用matlab实现边缘检测等功能attilax总结
- 神奇的量子世界——量子遗传算法(Python&Matlab实现)
- 【需求响应】基于数据驱动的需求响应优化及预测研究(Matlab代码实现)
- 基于优化的启发式集成低能耗自适应集群层次结构协议(OHILEACH)(Matlab代码实现)
- 使用混沌和非线性控制参数来提高哈里斯鹰优化算法的优化性能,解决车联网相关的路由问题(Matlab代码实现)
- 基于MATLAB的车牌识别系统研究(Matlab代码实现)
- 【MATLAB】数学建模没有基础怎么办,看过来一篇文章带你入门 matlab
- 【图像处理】基于MATLAB的方向离散余弦变换(DCT)和主成分分析(PCA)图像融合
- matlab源码说明
- 模式识别:利用MATLAB生成模式类
- MATLAB | MATLAB海洋、气象数据colormap配色补充包(NCL color tables)
- 【数字信号处理】卷积编程实现 ( Matlab 卷积和多项式乘法 conv 函数 | 使用 matlab 代码求卷积并绘图 )
- 【MATLAB】进阶绘图 ( 双 y 轴图形 | plotyy 函数 | Histogram 统计图形 | hist 函数 )
- Matlab使用笔记(九):matlab实现交通流仿真/车感知/城市交通交叉路口
- 四类线性相位 FIR滤波器设计 —— MATLAB源码全集
- 【语音编码】基于matlab ADPCM编解码(Matlab代码实现)
- 基于6自由度飞行器的EKF和INS融合算法的MATLAB仿真
- [MATLAB]手把手带你用MATLAB跑经典算法YOLOv5&训练自己的数据集(包含源码)
- Matlab使用笔记(四):将编写完matlab函数放入simulink模型