?? adaplinpred.m
字號:
% AdapLinPred.m
% 利用線性網絡進行自適應預測(Adaptive linear prediction):
% 用NEWLIN()創建、初始化一個線性網絡,并調用ADAPT(),即用
% Widrow-Hoff學習規則訓練此線性網絡。這樣,使用過去五個信
% 號值線性,神經元就能夠進行自適應訓練,從而對下一個信號
% 進行預測。
%
% 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:定義一個曾經改變頻率的信號
p = t; % 網絡輸入與目標相同,網絡將使用過去五個目標值來預測下一個目標值
% plotting the signals to be predicted
% ------------------------------------
plot(time,cat(2,t{:}))
xlabel('時間,s');
ylabel('目標信號');
title('待預測信號');
% 定義(設計)網絡(Define or Design The Network)
% ----------------------------------------------
% 設置學習率為0.1及五個延時信號,然后用newlin()創建一個線性網絡,
% 所得的網絡將用過去五個目標值來預測下一個目標值
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); % 自適應地濾波信號
% 繪制網絡輸出信號(Plotting the Output Signal)
% --------------------------------------------
figure
plot(time, cat(2, y{:}), 'b-', time, cat(2, t{:}), 'k--') %
xlabel('時間,s');
ylabel('信號');
legend('輸出', '目標');
title('輸出與目標信號');
% 繪制神經元輸出信號與目標信號之差,以便觀察預測性能(網絡誤差)
figure
plot(time,cat(2,e{:}),[min(time) max(time)],[0 0],':r')
xlabel('時間,s');
ylabel('誤差');
title('誤差信號');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -