?? volterra_main.m
字號(hào):
% 混沌時(shí)間序列的 Volterra 自適應(yīng)預(yù)測(cè)(一步預(yù)測(cè)) -- 主函數(shù)% 參考文獻(xiàn):張家樹(shù).混沌時(shí)間序列的Volterra自適應(yīng)預(yù)測(cè).物理學(xué)報(bào).2000.03% 朱昀.水聲信號(hào)非線(xiàn)性分析方法研究.西北工業(yè)大學(xué)博士學(xué)位論文.2002.06.P28-38clcclearclose alldisp('============= volterra ==============')%--------------------------------------------------% 公共參數(shù)k1 = 6000; % 前面的迭代點(diǎn)數(shù)k2 = 2000; % 后面的迭代點(diǎn)數(shù) (總樣本數(shù))train_num = 500; % 訓(xùn)練樣本數(shù)test_num = 1500; % 測(cè)試樣本數(shù)tau = 1; % 時(shí)延m = 3; % 嵌入維數(shù)p = 3; % Voltera 階數(shù)%--------------------------------------------------% 產(chǎn)生混沌序列sigma = 10; % Lorenz 方程參數(shù) ab = 8/3; % br = 34; % c y = [-1,0,1]; % 起始點(diǎn) (1 x 3 的行向量)h = 0.01; % 積分時(shí)間步長(zhǎng)z = LorenzData(y,h,k1+k2,sigma,r,b);x = z(k1+1:end,1);%--------------------------------------------------% 前半部分訓(xùn)練,后半部分測(cè)試x_train = x(1:train_num);x_test = x(train_num+1:train_num+test_num);%--------------------------------------------------% 混沌序列的相空間重構(gòu) (phase space reconstruction)% xn為列向量,每一列為一個(gè)點(diǎn) % dn每一點(diǎn)與xn每一列相對(duì)應(yīng)[xn_train,dn_train] = PhaSpaRecon(x_train,tau,m);[xn_test,dn_test] = PhaSpaRecon(x_test,tau,m);%----------------------------------------------------% 訓(xùn)練與預(yù)測(cè)tic% 訓(xùn)練算法求權(quán)矢量[Wn,err_mse1] = volterra_train_lu(xn_train,dn_train,p);err_mse1_std = err_mse1/var(x)% 測(cè)試樣本的一步預(yù)測(cè)dn_pred = volterra_test(xn_test,p,Wn);err = dn_test - dn_pred;err_mse2 = sum(err.^2)/length(err);err_mse2_std = err_mse2/var(x)t = toc%----------------------------------------------------% 結(jié)果作圖subplot(211);plot(1:length(err),dn_test,'r+:',1:length(err),dn_pred,'bo-');title('真實(shí)值(+)與預(yù)測(cè)值(o)')subplot(212);plot(err,'k');title('預(yù)測(cè)絕對(duì)誤差')
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -