首页 > 编程语言 > 详细

数学建模算法(五):灰色预测

时间:2016-01-21 23:34:41      阅读:355      评论:0      收藏:0      [点我收藏+]

1.matlab

clear all;clc;
x0=[
 976.04,995.53,1018.5,1001.35,1150.06,1309.7,1355.03,1424.91

] ;
N=12;
 n=length( x0 ) ;
 x1=cumsum( x0 ) ;
 B=[ -0.5* (x1( 1 : n-1)+x1( 2 : n ) ) , ones( n-1 ,1)];
 Y=x0( 2 : n ) ;
 u=B\Y
 x=dsolve ( Dx+a*x=b  ,  x(0)=x0  ) ;
 x=subs ( x,{  a  ,  b  ,  x0  } ,{ u( 1 ) , u( 2 ) , x1( 1 ) } ) ;
 yuce1=subs ( x ,  t , [ 0 : n+N]);

 yuce1=eval( yuce1 ) ;
 y=vpa( x ,12 )  %12个有效位数
 result=[x0( 1 ) ,diff( yuce1 ) ] ;
 result_new=result( n+2: end );
 format bank
 result_new

 2.

clc,clear
x0=[1.7524     1.8888     2.0790     2.4075     2.3808     2.4436     2.8495     3.2664
];
n=length(x0);
lamda=x0(1:n-1)./x0(2:n);
range=minmax(lamda);
x1=cumsum(x0);
B=[-0.5*(x1(1:n-1)+x1(2:n)),ones(n-1,1)];
Y=x0(2:n);
u=B\Y;
x=dsolve(Dx+a*x=b,x(0)=x0);
x=subs(x,{a,b,x0},{u(1),u(2),x1(1)});
yuce1=subs(x,t,[0:n-1]);
yuce1=eval(yuce1);
y=vpa(x,12);
yuce=[x0(1),diff(yuce1)];
epsilon=x0-yuce;
delta=abs(epsilon./x0);
jingdu=1-mean(delta)
yuce1=subs(x,t,[0:n+8]);
yuce1=eval(yuce1);
y=vpa(x,12);
yuce=[x0(1),diff(yuce1)];
yuce_new=yuce(n+1:end)

 

数学建模算法(五):灰色预测

原文:http://www.cnblogs.com/pursuit1996/p/5149530.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!