首页 > 编程知识 正文

matlab神经网络预测模型例题,bp神经网络预测simulink

时间:2023-05-03 20:11:05 阅读:112205 作者:2086

以辛烷值预测为例

清除全部

clc

%% II .生成培训集/测试集

%%

% 1.导入数据

load NIR.mat%指标数据

load octane.mat%的结果数据相当于函数的y

验证load new_x.mat%中的新数据

%%

% 2.随机生成训练集和测试集

时间=rand perm (size (NIR,1 ); 打乱p个样本的排序

%培训集——40个示例

p_train=NIR(temp(1:40 ), ) ';

t_train=octane(temp(1:40 ), );

%测试集——10个示例

p_test=NIR(temp(41:end ), ) ';

t_test=octane(temp(41:end ), )’;

n=size(p_test,2 );

%% III .数据规范化

[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 );

%% IV. BP神经网络创建、培训和模拟测试

%%

% 1.创建网络

net=newff(p_train,t_train,9 ); %9是抑制层神经元的数量(大家改变测试结果后会产生影响)。

%%

% 2.设置培训参数

net.trainParam.epochs=1000; %反复次数

net.trainParam.goal=1e-3; %mse均方根误差小于该值的训练结束

net.trainParam.lr=0.01; %学习率

%%

% 3.培训网络

net=train(net,p_train,t_train );

%%

% 4.模拟测试

t_sim=sim(net,p_test ); %返回10个样本的预测值

%%

% 5.数据反规范化

t_sim=mapminmax('reverse ',t_sim,ps_output ); %逆正规化结果

%% V .性能评估

%%

% 1.相对误差错误

error=ABS(t_sim-t_test )./T_test;

%%

% 2.决策系数R^2

R2=(n*sum(t_sim.*t_test )-sum ) t_sim (sum ) t_test ) )n*sum ) ) t _ sim ().^2) )

%%

% 3.比较结果

result=[T_test' T_sim' error'] %输出真值、预测值和误差

%% VI .绘图

figure(1)。

plot(1:N,T_test,' b:* ',1:n,T_sim,' r-o ' )

霍尔德on

是打印(error )

legend (“真值”、“预测值”)

xlabel (预测样本) )。

ylabel ()辛烷值) ) ) ) )。

string={ '测试集辛烷值含量预测结果比较'; ['r^2='num2str(R2 ) ];

是title (字符串)

%% VII .预测新数据

predict _ y=zeros (10,1 );

for i=1: 10

result1=sim(net,new_x(i ) I, ) '; %调用培训的网络进行预测

result=mapminmax('reverse ',result1,ps_output ); %逆正规化处理

predict_y(I )=result; %获得最终数据预测值

结束

disp ('预测值为) ) )

disp(predict_y )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。