greymodel.m

来自「灰色预测」· M 代码 · 共 32 行

M
32 行
字号
function para=greymodel(x)
%x is a vector
%grey model 
x=x';
n=length(x);
y=zeros(1,n);
y(1)=x(1);
for i=1:n-1
    y(i+1)=y(i)+x(i+1);%Y
end
z(1)=y(1);
for i=1:n-1
    z(i+1)=(y(i)+y(i+1))./2;%B
end
sumx=sum(x)-x(1);  
sumz=sum(z)-z(1);
sumz2=sum(z.*z)-z(1)*z(1);
sumzx=sum(z.*x)-z(1)*x(1);
d=(n-1)*sumz2-sumz*sumz;
a=(-(n-1)*sumzx+sumz*sumx)/d;
u=(-sumz*sumzx+sumx*sumz2)/d;
para(1)=a;
para(2)=u;
%B=zeros(n-1,2);
%B(:,2)=1;
%Xn=zeros(n-1,1);
%for i=1:n-1
%B(i,1)=-z(i+1);
%Xn(i)=x(i+1);
%end
%para=inv(B'*B)*B'*Xn;
    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?