⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adaplinpred.m

📁 《Matlab在化学工程中的应用》该书是我见过的一本相当有用的一本书 具有很高的针对型哦
💻 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 + -