📄 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 + -