clear; %清空环境变量
clc;
% 训练集/测试集的产生,这里采用xlsread('');
paifangshuju=xlsread('E:\paifangshuju2.xlsx');
NIR=paifangshuju(:,1:2);
octane=paifangshuju(:,3:6);
% % 随机产生训练集和测试集
temp = randperm(size(NIR,1));
%训练集--80个样本
P_train = NIR(temp(1:80),:)';
T_train = octane(temp(1:80),:)';
%测试集--10个样本
P_test = NIR(temp(81:end),:)';
T_test = octane(temp(81:end),:)';
N = size(P_test,2);
%验证、训练数据归一化
[p_train,ps_input]=mapminmax(P_train,0,1);
p_test=mapminmax('apply',P_test,ps_input);
[t_train,ps_output]=mapminmax(T_train,0,1);
% % BP神经网络的创建、训练及仿真测试
%创建网络
net = newff(p_train,t_train,[4,8]);%2为隐含层的层数
%设置训练参数
net.trainParam.epochs=1000;
net.trainParam.goal=1e-3;
net.trainParam.lr=0.01;
%训练网络
net=train(net,p_train,t_train);
%仿真测试
t_sim=sim(net,p_test);
%数据反归一化
T_sim=mapminmax('reverse',t_sim,ps_output);
%%性能评价
%相对误差
error=abs(T_sim-T_test)./T_test;
%均方根误差
for i=1:4,j=1:N;
A(i,j)=T_test(i,j)-T_sim(i,j);
end
MSE_HC=sqrt(sum(A(1,:).^2));
MSE_CO=sqrt(sum(A(2,:).^2));
MSE_NO=sqrt(sum(A(3,:).^2));
MSE_O2=sqrt(sum(A(4,:).^2));
MSE=[MSE_HC;MSE_CO;MSE_NO;MSE_O2];
%决定系数R^2 P_test T_train P_train T_test T_sim
R2=(N*sum(T_sim .* T_test)-sum(T_sim).*sum(T_test)).^2 /((N.*sum((T_sim).^2)-(sum(T_sim)).^2) .* (N .* sum((T_test).^2)-(sum(T_test)).^2));
%对比结果
result=[T_test' T_sim' error'];
%绘图
subplot(2,2,1);
a = 1:1:10; %横坐标
b = T_test(1,:); %纵坐标
%第二种,画平滑曲线的方法
values = spcrv([[a(1) a a(end)];[b(1) b b(end)]],3);
plot(values(1,:),values(2,:), 'k');
hold on;
a = 1:1:10; %横坐标
plot(a,T_sim(1,:),'sk','MarkerFaceColor','k');
xlabel('\bf发动机转速/rpm');
ylabel('\bfHC/10^{-6}');
hold on;
xL=xlim;yL=ylim;
plot(xL,[yL(2),yL(2)],'k',[xL(2),xL(2)],[yL(1),yL(2)],'k');
box off;
axis([xL yL]);
legend('\bf真实值','\bf预测值');
title('\bf测试HC含量预测结果对比图');
set(gca,'XTickLabel',{'3008','3503','4010','5502','6013','6511','7010','7509','8504','9002'});
subplot(2,2,2);
a = 1:1:10; %横坐标
c = T_test(2,:); %纵坐标
%第二种,画平滑曲线的方法
values = spcrv([[a(1) a a(end)];[c(1) c c(end)]],3);
plot(values(1,:),values(2,:), 'k');
hold on;
a = 1:1:10; %横坐标
plot(a,T_sim(2,:),'sk','MarkerFaceColor','k');
legend('\bf真实值','\bf预测值');
title('\bf测试CO含量预测结果对比图');
xlabel('\bf发动机转速/rpm');
ylabel('\bfCO/%');
hold on;
xL=xlim;yL=ylim;
plot(xL,[yL(2),yL(2)],'k',[xL(2),xL(2)],[yL(1),yL(2)],'k');
box off;
axis([xL yL]);
set(gca,'XTickLabel',{'3008','3503','4010','5502','6013','6511','7010','7509','8504','9002'});
subplot(2,2,3);
a = 1:1:10; %横坐标
d = T_test(3,:); %纵坐标
%第二种,画平滑曲线的方法
values = spcrv([[a(1) a a(end)];[d(1) d d(end)]],3);
plot(values(1,:),values(2,:), 'k');
hold on;
a = 1:1:10; %横坐标
plot(a,T_sim(3,:),'sk','MarkerFaceColor','k');
xlabel('\bf发动机转速/rpm');
ylabel('\bfO_{2}/%');
hold on;
xL=xlim;yL=ylim;
plot(xL,[yL(2),yL(2)],'k',[xL(2),xL(2)],[yL(1),yL(2)],'k');
box off;
axis([xL yL]);
legend('\bf真实值','\bf预测值');
title('\bf测试O_{2}含量预测结果对比图');
set(gca,'XTickLabel',{'3008','3503','4010','5502','6013','6511','7010','7509','8504','9002'});
subplot(2,2,4);
a = 1:1:10; %横坐标
e = T_test(4,:); %纵坐标
%第二种,画平滑曲线的方法
values = spcrv([[a(1) a a(end)];[e(1) e e(end)]],3);
plot(values(1,:),values(2,:), 'k');
hold on;
a = 1:1:10; %横坐标
plot(a,T_sim(4,:),'sk','MarkerFaceColor','k');
xlabel('\bf发动机转速/rpm');
ylabel('\bfNO_{X}/10^{-6}');
hold on;
xL=xlim;yL=ylim;
plot(xL,[yL(2),yL(2)],'k',[xL(2),xL(2)],[yL(1),yL(2)],'k');
box off;
axis([xL yL]);
legend('\bf真实值','\bf预测值');
title('\bf测试NO_{X}含量预测结果对比图');
set(gca,'XTickLabel',{'3008','3503','4010','5502','6013','6511','7010','7509','8504','9002'});
saveas(1,'filename','bmp');


阿里matlab建模师

- 粉丝: 5921
最新资源
- MATLAB环境下电动汽车续航里程影响因素分析与优化策略研究
- 基于 YOLOV3 算法的目标检测实现方案
- 西门子Smart系列水处理系统:反渗透+精混床除盐水工艺的自动化控制案例
- 基于JSP+Servlet实现的污水处理系统+源码(毕业设计&课程设计&项目开发)
- FPGA实现MIL-STD-1553B协议的BC、BM、RT源码解析及应用 实时通信
- 单周期控制的无桥CukPFC变换器:实现高频率(100k)的稳定电源转换
- Abaqus模拟中水力裂缝与天然裂缝相交的cohesive行为
- 电力电子MATLABSimulink仿真:三相PWM整流器及其多种控制方法的研究
- 基于ASP.NET MVC与SQL Server的C#图书及借阅管理系统的设计与实现 - Entity Framework 高级版
- 目标检测-YOLOV3实现
- 结构光3D测量技术:单双目编码解码与标定重建的应用实现
- 电力电子领域Buck双闭环控制降压电路PI调节器的设计与建模及其应用 Simulink v2.5
- 基于51单片机的测速码表仿真:Keil程序源码与Proteus仿真文件解析
- 基于C++ OpenCV 和 Qt 实现人脸(刷脸)登录+源码+项目文档+数据集(毕业设计&课程设计&项目开发)
- FPGA IP源码解密技术:从加密IP文件恢复Verilog与VHDL源代码的方法与挑战
- 基于CSI的WiFi室内被动式目标检测技术
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



- 1
- 2
- 3
- 4
前往页