📄 untitled.asv
字号:
%clc
clear
close all
%---------------------------------------------------
% 产生训练样本与测试样本
load one
P1 = (one(1:150,1:4))'; % 训练样本,每一列为一个样本
T1 = (one(1:150,5))'; % 训练目标
P2 = (one(101:150,1:4))'; % 测试样本,每一列为一个样本
T2 = (one(101:150,5))'; % 测试目标
%---------------------------------------------------
% 归一化
[PN1,minp,maxp,TN1,mint,maxt] = premnmx(P1,T1);
PN2 = tramnmx(P2,minp,maxp);
TN2 = tramnmx(T2,mint,maxt);
%---------------------------------------------------
% 训练
% 神经元数逐步增加,最多就是训练样本个数
goal =5; % 训练误差的平方和(默认为0)
spread = 0.2; % 此值越大,需要的神经元就越少(默认为1)
MN = 100%size(PN1,2); % 最大神经元数(默认为训练样本个数)
DF = 1; % 显示间隔(默认为25)
net = newrb(PN1,TN1,goal,spread,50,DF);
%---------------------------------------------------
% 测试
YN1 = sim(net,PN1); % 训练样本实际输出
YN2 = sim(net,PN2); % 测试样本实际输出
MSE1 = mean((TN1-YN1).^2) % 训练均方误差
MSE2 = mean((TN2-YN2).^2) % 测试均方误差
%---------------------------------------------------
% 反归一化
Y2 = postmnmx(YN2,mint,maxt);
%---------------------------------------------------
% 结果作图
plot(1:length(T2),T2,'r+:',1:length(Y2),Y2,'bo:')
title('+为真实值,o为预测值')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -