国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
灰色預(yù)測GM(1,1)模型MATLAB程序

MATLAB的灰色預(yù)測GM11)模型

程序如下

%程序中的變量定義;alpha是包含 值的矩陣;ago是預(yù)測后累加值矩陣;var是預(yù)測值矩陣;error是殘差矩陣;c是后驗差比值

function gm1(x);  %定義函數(shù)gm1(x)

clc             %清屏,以使結(jié)果獨立顯示

format long;     %設(shè)置計算精度

if length(x(:,1))==1    %對輸入矩陣進(jìn)行判斷,如不是一維列矩陣,進(jìn)行轉(zhuǎn)置變換

    x=x';

end

n=length(x);      %取輸入數(shù)據(jù)的樣本量

z=0;

for i=1:n         %計算累加值,并將值賦予矩陣be

    z=z+x(i,:);

    be(i,:)=z;

end

for i=2:n         %對原始數(shù)列平行移位

    y(i-1,:)=x(i,:);

end

for i=1:n-1       %計算數(shù)據(jù)矩陣B的第一列數(shù)據(jù)

    c(i,:)=-0.5*(be(i,:)+be(i+1,:));

end

for j=1:n-1       %計算數(shù)據(jù)矩陣B的第二列數(shù)據(jù)

    e(j,:)=1;

end

for i=1:n-1       %構(gòu)造數(shù)據(jù)矩陣B

    B(i,1)=c(i,:);  

    B(i,2)=e(i,:);  

end

alpha=inv(B'*B)*B'*y;   %計算參數(shù) 矩陣

for i=1:n+1          %計算數(shù)據(jù)估計值的累加數(shù)列,如改為n+1n+m可預(yù)測后m-1個值

   ago(i,:)=(x(1,:)-alpha(2,:)/alpha(1,:))*exp(-alpha(1,:)*(i-1))+alpha(2,:)/alpha(1,:);

end

var(1,:)=ago(1,:)

for i=1:n            %如改nn+m-1,可預(yù)測后m-1個值

    var(i+1,:)=ago(i+1,:)-ago(i,:);   %估計值的累加數(shù)列的還原,并計算出下一預(yù)測值

end

for i=1:n

    error(i,:)=var(i,:)-x(i,:);        %計算殘差

end

c=std(error)/std(x);               %調(diào)用統(tǒng)計工具箱的標(biāo)準(zhǔn)差函數(shù)計算后驗差的比值c

ago                            %顯示輸出預(yù)測值的累加數(shù)列

alpha                          %顯示輸出參數(shù) 數(shù)列

var                            %顯示輸出預(yù)測值

error                           %顯示輸出誤差

c                              %顯示后驗差的比值c

這代碼怎么用?好像有點錯 

提問者: 莫寒0312 - 見習(xí)魔法師 二級 

最佳答案

樓主,我試了下,沒錯啊,這段代碼你不能全部復(fù)制到matlab的命令窗口中去

首先,你得把矩陣X賦值,X不是你要處理的數(shù)據(jù)么?沒有X程序運行不下去,

然后,將矩陣X賦值后你只需要復(fù)制下面這段代碼就OK

clc %清屏,以使結(jié)果獨立顯示 

format long; %設(shè)置計算精度 

if length(x(:,1))==1 %對輸入矩陣進(jìn)行判斷,如不是一維列矩陣,進(jìn)行轉(zhuǎn)置變換 

x=x'; 

end 

n=length(x); %取輸入數(shù)據(jù)的樣本量 

z=0; 

for i=1:n %計算累加值,并將值賦予矩陣be 

z=z+x(i,:); 

be(i,:)=z; 

end 

for i=2:n %對原始數(shù)列平行移位 

y(i-1,:)=x(i,:); 

end 

for i=1:n-1 %計算數(shù)據(jù)矩陣B的第一列數(shù)據(jù) 

c(i,:)=-0.5*(be(i,:)+be(i+1,:)); 

end 

for j=1:n-1 %計算數(shù)據(jù)矩陣B的第二列數(shù)據(jù) 

e(j,:)=1; 

end 

for i=1:n-1 %構(gòu)造數(shù)據(jù)矩陣

B(i,1)=c(i,:); 

B(i,2)=e(i,:); 

end 

alpha=inv(B'*B)*B'*y; %計算參數(shù) 矩陣 

for i=1:n+1 %計算數(shù)據(jù)估計值的累加數(shù)列,如改為n+1n+m可預(yù)測后m-1個值 

ago(i,:)=(x(1,:)-alpha(2,:)/alpha(1,:))*exp(-alpha(1,:)*(i-1))+alpha(2,:)/alpha(1,:); 

end 

var(1,:)=ago(1,:) 

for i=1:n %如改nn+m-1,可預(yù)測后m-1個值 

var(i+1,:)=ago(i+1,:)-ago(i,:); %估計值的累加數(shù)列的還原,并計算出下一預(yù)測值 

end 

for i=1:n 

error(i,:)=var(i,:)-x(i,:); %計算殘差 

end 

c=std(error)/std(x) %調(diào)用統(tǒng)計工具箱的標(biāo)準(zhǔn)差函數(shù)計算后驗差的比值

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
數(shù)據(jù)透視表快速計算累加值及累加占比
8-數(shù)列之累加、累乘求通項
灰色系統(tǒng)預(yù)測模型GM(1,1),GM(1,n)及Matlab實現(xiàn)
操作教程貼:從0開始,教你如何做數(shù)據(jù)分析#初階#第五篇
以下這幾個題我是通過構(gòu)造常數(shù)列求出通項公式。我們也可以通過累加和累乘求它們的通項公式。我這里想要強調(diào)...
R語言函數(shù)總結(jié)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服