灰色预测

来源:互联网 发布:python 迭代器 list 编辑:程序博客网 时间:2024/04/19 07:51
<p>%灰色Verhulst模型%时间:2015-7-4-六%页码:P380clc,clearx0=[4.93   2.33   3.87   4.35   6.63   7.15   5.37   6.39   7.81   8.35];x1=cumsum(x0);  %求1次累加序列n=length(x0);z=0.5*(x1(2:n)+x1(1:n-1));   %求x1的均值生成序列B=[-z',z'.^2];Y=x0(2:end)';disp('估计参数a,b的值')ab_hat=B\Y     %估计参数a,b的值x=dsolve('Dx+a*x=b*x^2','x(0)=x0');  %求解常微分方程x=simple(x);  %对符号解进行化简x=subs(x,{'a','b','x0'},{ab_hat(1),ab_hat(2),x0(1)});  %代入参数值disp('求已知数据点1次累加序列的预测值')yuce=subs(x,'t',[0:n-1])   %求已知数据点1次累加序列的预测值disp('显示6位数字的符号解')x=vpa(x,6) %显示6位数字的符号解%{x0_hat=[yuce(1),diff(yuce)] %求已知数据点的预测值epsilon=x0-x0_hat    %求残差delta=abs(epsilon./x0)  %求相对误差xlswrite('book4.xls',[x0',x0_hat',epsilon',delta'])%}disp('求已知数据点的预测值')x0_hat=double( [yuce(1),diff( double(yuce) )] ) %求已知数据点的预测值disp('求残差 ')epsilon=double( x0-x0_hat ) %求残差disp(' 求相对误差')delta=double( abs(epsilon./x0) )  %求相对误差xlswrite('book4.xls',[x0',x0_hat',epsilon',delta'])</p><p><p></p>
0 0
原创粉丝点击