📄 gray.m
字号:
%function output=gray(X0)
clear all
a=0.4;
u=0;
X0=[0.8900 0.8300 0.7600 0.8800 0.8600
];
n=size(X0,2);
for k=1:n
X1(k)=sum(X0(1:k));
end
B=zeros(n-1,2);
Y=zeros(n-1,1);
for i=1:n-1
Y(i)=X0(i+1);
B(i,:)=[-0.5*(X1(i)+X1(i+1)) 1];
end
R=inv(B'*B)*B'*Y;%利用最小二乘法求超定方程
a=R(1);
u=R(2);
xx1(1)=X1(1);
for k=1:n+1
xx1(k+1)=(X0(1)-u/a)*exp(-a*k)+u/a;
end
xx1
xx0=zeros(1,n);
xx0(1)=X0(1);
for k=2:n+1
xx0(1,k)=(1-exp(a))*(X0(1)-u/a)*exp(-a*(k-1));
end%到原序的拟合数
xx0
output=xx0;
plot(1:n,X0,'*r',1:n+1,output,'ob')
legend('原始数据','预测拟和数据')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -