www.gusucode.com > 灰色GM(1,3)神经网络matlab源码程序 > huiseBP_2.m

    clc
clear all
rawData=xlsread('基础数据','sheet1','B4:G28');
x10=rawData(:,6)';
x20=rawData(:,1)';
x30=rawData(:,2)';
x40=rawData(:,3)';
x50=rawData(:,4)';
x60=rawData(:,6)';

y(1,:)=GM1_3(x20,x30,x40,x50);
y(2,:)=GM1_3(x30,x20,x40,x50);
y(3,:)=GM1_3(x40,x20,x30,x50);
y(4,:)=GM1_3(x50,x20,x30,x40);
x_t=y(:,1:22);
x=y(:,23:25);
x_t=cos(x_t);
y_t=x10(1:22)*10;

net=newff(minmax(x_t),[10,1],{'tansig','purelin'},'trainrp');

net.trainParam.goal=0.01;
net.trainParam.lr=0.001;
net.trainParam.epochs=100000;
net=train(net,x_t,y_t);
y=sim(net,x_t)

Y=sim(net,cos(x))/10

plot(y/10,'r*')
hold on
plot(y_t/10,'bO')
legend('拟合值','真实值')
plot(y/10,'r')
plot(y_t/10,'b')

%结果:0.1759    0.6075    0.7515