楼主: mia.h
1585 0

[问答] 关于灰色预测的MATLAB程序 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

初中生

61%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
109 点
帖子
9
精华
0
在线时间
10 小时
注册时间
2015-12-3
最后登录
2016-9-18

楼主
mia.h 发表于 2016-6-24 17:44:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
X=[6529,7416,819,9903,10947,12115,13592,15038,16466,17898];
k=length(X);%输入原始数据
%判断是否含负值
fu=min(X);
if  fu<0disp('含负值,要进行数据修正! ');
    disp('原始数列变为:');X= X+abs(fu)+1;
   else  disp('原数列不含负值! '); X
end
Y=cumsum(X);%计算累加生成序列
%模型求解
A=X;A(1)=[];C=[];
for i=2:1:k;
   C(i-1)=(-Y(i)-Y(i-1))/2;
end
E=cat(1,C,ones(1,k-1));B=inv(E*E')*E*A';
a=B(1,1),b=B(2,1)
%计算累加序列的估计及1期预测值
z2=[];
for i=1:k+1;
   z2(i)=(X(1)-b/a)*exp(-a*(i-1))+b/a;
end
%还原序列的估计及预测值
y1=[];y1(1)=z2(1);
for i=1:k+4
   y1(i+1)=z2(i+1)-z2(i);
end
%计算残差值
ep=zeros(1,k);e=zeros(1,k);q=zeros(1,k);
for i=1:k
   ep(i)=X(i)-y1(i);e(i)=abs(X(i)-y1(i));q(i)=e(i)/X(i)*100;
end
q%相对误差
f=100-mean(abs(q))%精度
c=std(e)/std(X)%后验差比
p=0;%小误差概率的值
for i=1:k
   if abs(e(i)-mean(e))<0.6745*std(X)p=p+1; end
end
p=p/k%小误差概率
%计算关联度
w1=min(abs(e));w2=max(abs(e));
for i=1:k
   w(i)=(w1+0.5*w2)./(abs(e(i))+0.5*w2);
end
w=sum(w)/k %关联度







想问问哪里错了 谢谢了 ~

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB程序 MATLAB matla atlab 灰色预测 程序

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-21 17:05