首页 > 编程知识 正文

灰色模型预测法例题,光热模型MATLAB

时间:2023-05-05 05:52:25 阅读:148282 作者:854

摘要:探讨了多元灰色预测模型的建模方法及其算法思想,得到了多元灰色预测模型的验证者

法律。 为了简化模型求解,给出了多元灰色预测模型MATLAB程序的实现。 通过应用实例说明算法程序的应用和效果。

关键词:多元; 灰色预测模型; 算法; MATLAB

引言

自从zgdxss教授提出灰色系统理论以来,灰色预测模型在许多领域得到了广泛的应用。 许多研究者对动态微分方程模型GM (1,1 )进行了广泛的研究,提出了一些改进的GM ) 1,1 )模型以提高模型精度。 近年来,许多文献从多个角度给出了非等间隔灰色预测模型的改进’,- ),但实际的社会、经济系统中存在许多变量,各变量相互影响、相互作用。 为了解决多元等距原始数据的灰色预测问题,文献分别讨论了多元等距和非等距预测模型的建模方法和应用。 多量灰色模型的参数估计、模型预测及模型精度检验需要比较复杂的计算。 本文的目的是提供多元灰色预测模型的验证和算法的MATLAB程序,并通过应用实例进行说明

1、多元灰色预测模型

将非负的原始数据的向量序列设为},将其一次累积生成向量序列设为}。 此处,k=1,2,…、n,n是观测数据的个数,其中k是维度列向量。 如果你记住了

A=B=

多变量灰色模型9 ./的动态微分方程组可以表示如下

=a(1) )。

假设初始条件为=,则动态微分方程组模型的连续时间响应函数为。

为了得到模型参数的估计,需要将上述微分方程组转换为离散的形式,从而得到参数的估计。 记为D=时,如果是可逆的,用最小二乘法得到的d的推定值为

=(2) )。

其中

L=

Y=

根据式(2),可以得到参数a和b的辩识值。 有参数估计时得到的时间响应函数

(3) ) )。

为了通过式(3)恢复为原来数据序列

、k=2、3、…

以下,对模型的验证进行讨论。 模型的残差为,残差的均值和方差分别为

=、

=

类似地,所获得的平均值和方差之和被称为C=平均方差比,并对给定的方差c取平均

2、多元灰色预测模型算法的MATLAB实现

1、多元灰色预测模型的算法步骤

基于多变量灰色预测模型建模方法和机制,提出

给出多元灰色预测模型的算法步骤:

) I )输入原始序列X0,并对其进行累积以生成序列X1。

(ii )计算数据矩阵l和y。

(iii ) )基于公式计算模型参数估计。

使用(iv )和(4)表达式来计算模型的拟合或预测值。

2、多元灰色模型MATLAB程序的实现

多变量灰色预测模型的MATLAB程序如下所示。

clear all

clc

输入%预测时刻k和原始序列X0

k=23; %k取23、24、25、26

x0=[17.34、27.12、14.88、20.54、21.03、27.25、19.25、21.37、23.32、27.19、19.52、21.16、14.92、71.64、21.25

[n,m]=size(x0;

for j=1:m c=0;

for i=1:n

c=x0(I,j ) c;

x1(I,j )=c;

结束

结束

%计算数据矩阵l

for j=1:m

for i=1:n-1

L(I,j )=) x1 ) I,j ) x1 ) I1,j ) )/2;

结束

结束

l=[1ones (n-1,1 ) ];

%计算y及参数估计值

for j=i:m

y(1:n-1,j )=x0 ) 2:n,j );

a(:j )=inv(L(*L ) l ) *y ) 1:n-1,j );

结束

a=a ';

a=a(1:end,1:end-1 );

b=a(1:end,end );

%计算模型的拟合值或预测值

s=x1 (1,1:结束);

ifk==1

Z=S '

elseifk1

z=expM2(a*(k-1 ) ) s'inv ) a ) ) z=expM2(a*(k-1 )-eye ) size ) expM2 ) a* (k-1 ) ) ) ) b ) ) ) )

else disp ('输入错误! k不应小于1 ' )

结束

3、结束语

MATLAB语言具有良好的执行环境、强大的函数资源,其编程效率远远高于其他高级语言。 多元灰色预测模型广泛应用于许多领域。 但是该模型参数的估计和预测需要经过比较复杂的计算,本文的多元灰色预测模型的MATLAB程序可以很容易地解决模型的计算问题。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。