• 当前位置
  • 首页
  • IT技术
  • 文章正文

C 语言_Matlab实现灰色预测的示例代码

  • 作者:自动秒收录
  • IT技术
  • 发布时间:2022-05-17T17:52:54
  • 热度:

目录

模型介绍

略微带过一下原理:

灰色预测对于趋势不强的数据,将其原始数据进行累加后得到具有明显趋势的新数据进行拟合,假设原数据为:

则新数据集X(1)中数据为:

通常认为累加数据服从指数分布,欸那我们直接假设:

直接进行一个非线性拟合不就完事了,但是,从小学二年级开始,老师就教导我们,像这用指数函数拟合啊,各个参数的变化对于整体曲线的影响效果差别很大啊,直接拟合误差会很大啊,怎么能给他整成一个线性拟合啊?(直接拟合我有试过,能够大体描述趋势并做出预测,但是误差会比灰色预测大一点)。

指数函数一般符合一个微分方程:

解常微分方程易得:

这样我们只需要将a,u这俩常数求出来就能得到x(1)(t) ,就能得到X(1)序列然后逐项做差就能得到X(0)序列。

当k≤t≤k 1时,有:

带入回之前的微分方程就有:

实际上直接进行线性拟合就好了,当然我们也可以拿最小二乘法装模作样的分析一下,令:

基础代码

核心代码非常短,只有六行,代码中给出了详细的注释,基础绘图还是MATLAB风比较简陋,后面会给出图像修饰代码。

?

基础代码 修饰

?

到此这篇关于Matlab实现灰色预测的示例代码的文章就介绍到这了,更多相关Matlab灰色预测内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能感兴趣的文章:

标签: 灰色预测Matlab

上一篇:Python内建类型int源码学习python...
下一篇:C语言利用Matlab实现图像亮度分布统计图...


发布评论