?? xadaplinpred.m
字號:
% AdapLinPred.m
% 利用線性網(wǎng)絡(luò)進(jìn)行自適應(yīng)預(yù)測(Adaptive linear prediction):
% 用NEWLIN()創(chuàng)建、初始化一個線性網(wǎng)絡(luò),并調(diào)用ADAPT(),即用
% Widrow-Hoff學(xué)習(xí)規(guī)則訓(xùn)練此線性網(wǎng)絡(luò)。這樣,使用過去五個信
% 號值線性,神經(jīng)元就能夠進(jìn)行自適應(yīng)訓(xùn)練,從而對下一個信號
% 進(jìn)行預(yù)測。
%
% Author: HUANG Huajiang
% Copyright 2003 UNILAB Research Center,
% East China University of Science and Technology, Shanghai, PRC
% $Revision: 1.0 $ $Date: 2003/01/12 $
%
% [Ref] MATLAB demo, Mathworks Co.
clear all
clc
% 定義一個波形(Defining a Wave Form)
% ----------------------------------
time1 = 0:0.05:4; % time1定義從0~4秒的時間段
time2 = 4.05:0.024:6; % time2定義從4~6秒的時間段
time = [time1 time2]; % time:定義模擬的所有時間段(0 ~ 6 秒)的步長
t = con2seq([sin(time1*4*pi) sin(time2*8*pi)]); % t:定義一個曾經(jīng)改變頻率的信號
p = t; % 網(wǎng)絡(luò)輸入與目標(biāo)相同,網(wǎng)絡(luò)將使用過去五個目標(biāo)值來預(yù)測下一個目標(biāo)值
% plotting the signals to be predicted
% ------------------------------------
plot(time,cat(2,t{:}))
xlabel('Time');
ylabel('Target Signal');
title('Signal to be Predicted');
% 定義(設(shè)計(jì))網(wǎng)絡(luò)(Define or Design The Network)
% ----------------------------------------------
% 設(shè)置學(xué)習(xí)率為0.1及五個延時信號,然后用newlin()創(chuàng)建一個線性網(wǎng)絡(luò),
% 所得的網(wǎng)絡(luò)將用過去五個目標(biāo)值來預(yù)測下一個目標(biāo)值
lr = 0.1;
delays = [1 2 3 4 5];
net = newlin(minmax(cat(2,p{:})),1,delays,lr);
[net,y,e]=adapt(net,p,t); % 自適應(yīng)地濾波信號
% 繪制網(wǎng)絡(luò)輸出信號(Plotting the Output Signal)
% --------------------------------------------
figure
plot(time, cat(2, y{:}), 'b-', time, cat(2, t{:}), 'k--') % 繪制線性神經(jīng)元信號和目標(biāo)信號
xlabel('Time');
ylabel('Output - Target --');
title('Output and Target Signals');
% 繪制神經(jīng)元輸出信號與目標(biāo)信號之差,以便觀察預(yù)測性能(網(wǎng)絡(luò)誤差)
figure
plot(time,cat(2,e{:}),[min(time) max(time)],[0 0],':r')
xlabel('Time');
ylabel('Error');
title('Error Signal');
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -