📄 p3.54.txt
字号:
%假设信号T持续时间为6秒,采样频率为20次每秒,(自适应系统辩识)
time1=0:0.05:4
time2=4.05:0.05:6;
time=[time1 time2];
X=sin(sin(time*4).*time*8);
%显示信号X的曲线
plot(time,X)
xlabel('时间');
ylabel('输入信号');
title('系统输入信号');
%系统输出信号
steps1=length(time1);
[T1,state]=filter([1 -0.5],1,X(1:steps1));
steps2=length(time2);
T2=filter([0.9 -0.6],1,X((1:steps2)+steps1),state);
T=[T1 T2];
%%显示信号T的曲线
plot(time,T)
xlabel('时间');
ylabel('输出信号');
title('系统输出信号');
%输入信号X当前值和前一时刻值作为输入向量
T=con2seq(T);
P=con2seq(X);
%设计网络(学习率为0.5,具有两个延迟输入)
lr=0.5;
delays=[0 1];
net=newlin(minmax(cat(2,P{:})),1,delays,lr);
%训练
[net,a,e]=adapt(net,P,T);
%显示信号y与T比较的曲线(输入与输出比较,'-'为线形)
plot(time,cat(2,a{:}),time,cat(2,T{:}),'-')
xlabel('时间');
ylabel('输出-目标+');
title('输出信号和目标信号');
%显示误差e的曲线,:r虚线
plot(time,cat(2,e{:}),[min(time) max(time)],[0 0],':r')
AXIS([0 5 -2 2])
xlabel('时间');
ylabel('误差');
title('误差信号')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -