function []=greymodel(y)
% 本程序主要用来计算根据灰色理论建立的模型的预测值所用的背景值为平均值
% 应用的数学模型是 GM(1,1)。
% 原始数据的处理方法是一次累加法。
% y=input('请输入数据 ');
%y=[1080.94 1083.03 1162.8 1155.61 1092.82 1099.26 1161.06 1258.05 1299.03 1298.3 1440.22 1641.3 1672.21 1612.73 1658.64 1752.42 1837.99 2099.29 2675.47 2786.33 2881.07 3183.98 3841.27 4109.65 3820.7 4471.03 5218.83 5552.3 5954.77 4871.78 5261.56 4383.39 4348.54 3472.71 3693.11 3433.35 2736.1 2775.72 2397.37 2293.78 1728.79 1871.16 1820.81 1990.66 2082.85 2373.21 2477.57];
%y=[1871.16 1820.81 1990.66 2082.85 2373.21 2477.57];
%y=[198.6 186.3 216.5 196.8 235.5 241.6 284.4 327.2 386.6 467.9];
y=[2.718 7.389 20.086 54.598 148.41 403.43 1096.6];
n=length(y);
yy=ones(n,1);
yy(1)=y(1);
for i=2:n
yy(i)=yy(i-1)+y(i);%存储累加序列的列向量
end
B=ones(n-1,2);
for i=1:(n-1)
B(i,1)=-(yy(i)+yy(i+1))/2;
B(i,2)=1;
end
BT=B';%BT矩阵为B矩阵的转置
for j=1:n-1
YN(j)=y(j+1);%YN存储已知序列的从第二个元素起的元素
end
YN=YN';
A=inv(BT*B)*BT*YN;
a=A(1);
u=A(2);
t=u/a;
t_test=input('请输入需要预测个数:');
i=1:t_test+n;
yys(i+1)=(y(1)-t).*exp(-a.*i)+t;%yys存储累加后的预测序列的元素值
yys(1)=y(1);
for j=n+t_test:-1:2
ys(j)=yys(j)-yys(j-1);%ys存储预测值,这里做一次累减
end
ys(1)=yys(1);
x=1:n;
xs=2:n+t_test;
yn=ys(2:n+t_test);
plot(x,y,'^r',xs,yn,'*-b');
legend('历史数据','预测数据')
title('上海股票市场走势图')
xlabel('时间:2008.11--2009.4(按月预测)')
ylabel('每月平均收盘价格')
for i=1:n
W(i)=abs(ys(i)-y(i));%W存储相对误差
end
disp(['发展灰数为:',num2str(a)]);
disp(['内生控制灰数:',num2str(u)]);
disp(['预测序列值为: ',num2str(ys(1:n+t_test))]);
disp(['相对误差为:',num2str(W(1:n))]);
huiseyuce.rar_huiseyuce_matlab 灰色预测_灰色 预测_灰色预测_预测 matlab
版权申诉
188 浏览量
2022-09-24
14:59:36
上传
评论
收藏 1KB RAR 举报
weixin_42653672
- 粉丝: 93
- 资源: 1万+
最新资源
- wenku_33bda3697f1cfad6195f312b3169a4517723e5a5_1716730762957.mp4
- YOLOv8井盖检测模型
- Python OCR 文字检测使用模型:读光-文字检测-DBNet行检测模型-中英-通用领域
- 磁盘直读直写、文件分配表读写、文件恢复(反删除)、文件强制删除、文件锁、文件超级隐藏等
- 基于Java的心理咨询平台设计源码
- win-patch-backend+update-v7.11.0.zip
- miniforge3-linux-aarch4.sh
- testtest1111
- 超实用的多功能工具箱小程序源码+支持流量主变现
- 基于 Yolov5 和 3DDeepbox 执行 3D 目标检测
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈