赞
踩
大神们,我是新人,刚接触matlab,在网上找了个例子如下,在反归一化后自己想查看输出结果加了画图步骤,结果发现数据经过归一化,反归一化后结果比实际值刚好大2,这是什么原因,谢谢!(后附结果图片即代码中所用的数据)
clc
clear all
close all
%bp 神经网络的预测代码
%载入输出和输入数据
load C:\Users\xrl\Desktop\p.txt;
load C:\Users\xrl\Desktop\t.txt;
%保存数据到matlab的工作路径里面
save p.mat;
save t.mat;%注意t必须为行向量
%赋值给输出p和输入t
p=p';
t=t';
%数据的归一化处理,利用mapminmax函数,使数值归一化到[-1.1]之间
[p1,ps]=mapminmax(p);
[t1,ts]=mapminmax(t);
%确定训练数据,测试数据,一般是随机的从样本中选取70%的数据作为训练数据
%15%的数据作为测试数据,一般是使用函数dividerand,其一般的使用方法如下:
[trainsample.p,valsample.p,testsample.p] =dividerand(p,0.7,0.15,0.15);
[trainsample.t,valsample.t,testsample.t] =dividerand(t,0.7,0.15,0.15);
TF1='tansig';TF2='
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。