数据检验判断
load SHJ.m %导入数据文件
SHJ=SHJ;
q=size(SHJ);p=q(1);l=q(2);
for i=1:p
x=SHJ(i,:);m=size(x);n=m(2);k=0;K=0;
for j=2:n
lamda(j)=x(j-1)/x(j);
if lamda(j)<exp(2/(n+2))&lamda(j)>exp(-2/(n+1))
k=k+1;
else
break;
end
end
if k~=n-1
disp('有级比不在覆盖范围内');
i
End
灰色预测
load SHJ.m
n=size(SHJ);m=n(1);
for i=1:m
x=SHJ(i,:);
if i==3
c(i,1)=85;SHJ=SHJ+c(i,1);
elseif i==4
c(i,1)=132;SHJ=SHJ+c(i,1);
else
c(i,1)=37;SHJ=SHJ+c(i,1);
end
sizexd2=size(x,2);%求数组长度
k=0;
for y1=x
k=k+1;
if k>1
x1(k)=x1(k-1)+x(k);%累加生成
z1(k-1)=-0.5*(x1(k)+x1(k-1));%z1 维数减 1,用于计算 B
yn1(k-1)=x(k);
else
x1(k)=x(k);
end
end
%x1,z1,k,yn1