基本信息
源码名称:GM(1,1)及二次残差修正
源码大小:2.31KB
文件格式:.zip
开发语言:MATLAB
更新时间:2021-06-26
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
%计算残差序列 epsilon =A - H; disp(['残差为:',num2str(epsilon(1:n))]); %法一:相对残差Q检验 %计算相对误差序列 delta = abs(epsilon./A); disp(['相对残差为:',num2str(delta(1:n))]); %计算相对误差Q disp(['相对残差ς检验:ς=',num2str(mean(delta).*100),'%']); %二:方差比C检验 C = std(epsilon, 0)/std(A, 0); disp(['方差比检验:C=',num2str(mean(C))]); if C<0.35 disp('精度等级:一级 '); else if (0.35<=C)&&(C<0.5) disp('精度等级:二级'); else if (0.5<=C)&&(C<0.65) disp('精度等级:三级'); else disp('精度等级:四级'); end end end %三:小误差概率P检验 S1 = std(A, 1); tmp = find(abs(epsilon - mean(epsilon))< 0.6745 * S1); P = length(tmp)/n; disp(['小误差概率检验:P=',num2str(mean(P))]); if P>0.95 disp('精度等级:一级 '); else if P>0.8 disp('精度等级:二级'); else if P>0.7 disp('精度等级:三级'); else disp('精度等级:四级'); end end end for i=1:n Q(i)=epsilon(i) 2.*88448.8916; end disp(['正化后的序列 Q :',num2str(Q(1:n))]); disp('取最后十个数重新建模,进行残差一次修正;');