%灰色预测模型GM(1,n)模型的matlab源代码,包括预测模型的建立,以及模型的精度检验指标c,p的计算
%假设预测3步,N=3
%如在命令窗口键入:
%gm=ycgm1n([1.6,1.7,2,1.8,1.9],[2,2.4,3,3.2,3.1],[3,3.1,3.2,3.5,2.8],3)
function GM=ycgm1n(data1,data2,data3,N) %data1:纵摇,data2:升沉,data3:波浪
T=length(data1);
PYX1=data1;
PYX2=data2;
PYX3=data3;
%进行数据预处理,这里用初值化
X0_1=PYX1./PYX1(1);
X0_2=PYX2./PYX2(1);
X0_3=PYX3./PYX3(1);
%用AGO生成一阶累加生成模块
X1_1(1)=X0_1(1);
X1_2(1)=X0_2(1);
X1_3(1)=X0_3(1);
for i=2:T
X1_1(i)=X1_1(i-1)+X0_1(i);
X1_2(i)=X1_2(i-1)+X0_2(i);
X1_3(i)=X1_3(i-1)+X0_3(i);
end
%构造累加矩阵B
for i=1:T-1
M1(i)=(0.5*(X1_1(i)+X1_1(i+1)));
M2(i)=(0.5*(X1_2(i)+X1_2(i+1)));
M3(i)=(0.5*