Matlab数学建模灰色预测模型

Posted 九死九歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab数学建模灰色预测模型相关的知识,希望对你有一定的参考价值。

一、灰色预测的概念

  1982年我国学者邓聚龙教授发表第一篇中文论文《灰色控制系统》标志着灰色系统这一学科诞生。

  白色系统是指一个系统的内部特征已知的,即系统的信息是完全充分的。黑色系统是指一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系来加以观测研究。

  灰色系统则介于二者之间。

二、灰色关联度与优势分析

  选取参考数列
X 0 = X 0 ( k ) ∣ k = 1 , 2 , ⋯   , n = ( X 0 ( 1 ) , X 0 ( 2 ) , ⋯   , X 0 ( n ) ) , 其 中 k 表 示 时 刻 X_0 = X_0(k)|k = 1, 2, \\cdots, n = (X_0(1), X_0(2), \\cdots, X_0(n)), 其中k表示时刻 X0=X0(k)k=1,2,,n=(X0(1),X0(2),,X0(n)),k
  假设有m个比较数列
X i = X i ( k ) ∣ k = 1 , 2 , ⋯   , n = ( X i ( 1 ) , X i ( 2 ) , ⋯   , X i ( n ) ) , ( i = 1 , 2 , ⋯   , m ) X_i = X_i(k)|k = 1, 2, \\cdots, n = (X_i(1), X_i(2), \\cdots, X_i(n)), (i = 1, 2, \\cdots, m) Xi=Xi(k)k=1,2,,n=(Xi(1),Xi(2),,Xi(n)),(i=1,2,,m)
  则称:
ζ i ( k ) = min ⁡ i min ⁡ k ∣ X 0 ( k ) − X i ( k ) ∣ + ρ max ⁡ i max ⁡ k ∣ X 0 ( k ) − X i ( k ) ∣ ∣ X 0 ( k ) − X i ( k ) ∣ + ρ max ⁡ i max ⁡ k ∣ X 0 ( k ) − X i ( k ) ∣ \\zeta_i(k) = \\frac\\min_i\\min_k|X_0(k) - X_i(k)| + \\rho \\max_i\\max_k|X_0(k) - X_i(k)||X_0(k) - X_i(k)| + \\rho \\max_i\\max_k|X_0(k) - X_i(k)| ζi(k)=X0(k)Xi(k)+ρmaximaxkX0(k)Xi(k)miniminkX0(k)Xi(k)+ρmaximaxkX0(k)Xi(k)
  为比较数列Xi对参考数列X0在k时刻的关联系数。其中 ρ ∈ [ 0 , + ∞ ) \\rho\\in [0, +\\infty) ρ[0,+)分辨系数,一般情况下 ρ ∈ [ 0 , 1 ] \\rho\\in [0, 1] ρ[0,1]

  关联系数 ζ \\zeta ζ在每一时刻都有一个,过于分散,不利于比较,为此我们给出:
r i 1 n ∑ k = 1 n ζ i ( k ) r_i \\frac1n\\sum\\limits^n_k = 1\\zeta_i(k) rin1k=1nζi(k)
  为比较数列Xi对参考数列X0关联度

  然而关联系数公式中的 ∣ X 0 ( k ) − X i ( k ) ∣ |X_0(k) - X_i(k)| X0(k)Xi(k)并不能去别处因素关联是正关联还是负关联,可采用以下方法解决该问题,记:
σ i = ∑ k = 1 n k X i ( k ) − ∑ k = 1 n X i ( k ) ∑ k = 1 n k n σ n = ∑ k = 1 n k 2 − ( ∑ k = 1 n k ) 2 n \\sigma_i = \\sum\\limits^n_k = 1kX_i(k) - \\sum\\limits^n_k = 1X_i(k)\\sum\\limits^n_k = 1\\frac k n \\sigma_n = \\sum\\limits^n_k = 1k^2 - \\frac(\\sum\\limits^n_k = 1k)2n σi=k=1nkXi(k)k=1nXi(k)k=1nnkσn=k=1nk2n(k=1nk)2

  则当 s i g n ( σ i σ n ) = s i g n ( σ j σ n ) sign(\\frac\\sigma_i\\sigma_n) = sign(\\frac\\sigma_j\\sigma_n) sign(σnσi)=sign(σnσj),则Xi和Xj正关联,否则为负关联

  代码实现:

function [zeta, r] = func(x, x_0, rho)
	
	[m, ~] = size(x);

	if nargin < 3
		rho = 0.5;
	end
	
	if nargin <以上是关于Matlab数学建模灰色预测模型的主要内容,如果未能解决你的问题,请参考以下文章

Matlab数学建模灰色预测模型

Matlab数学建模灰色预测模型

Matlab:数模03-灰色预测

数学建模MATLAB应用实战系列(八十三)-灰色预测(附MATLAB代码)

备战数学建模33-灰色预测模型2

matlab中灰色模型改进的背景值代码怎么写