• 大小: 18KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-05
  • 语言: Matlab
  • 标签:

资源简介

系统辨识及神经网络,simulink仿真模型,仿真代码

资源截图

代码片段和文件信息

% 【10】Bayes辨识程序

%FLch6BAeg1
clear
L=60;%四位移位积存器产生的M序列的周期
y1=1;y2=1;y3=1;y4=0;%四个移位积存器的输出初始值
for i=1:L;
x1=xor(y3y4);%第一个移位积存器的输入信号
x2=y1;%第二个移位积存器的输入信号
x3=y2;%第三个移位积存器的输入信号
x4=y3;%第四个移位积存器的输入信号
y(i)=y4;%第四个移位积存器的输出信号,幅值“0“和“1“
if y(i)>0.5u(i)=-1;%M序列的值为“1“时辨识的输入信号取“-1”
else u(i)=1;%M序列的值为“0“时辨识的输入信号取“1”
end
y1=x1;y2=x2;y3=x3;y4=x4;%为下一次的输入信号作准备
end
figure(1);%画第一个图形
subplot(211); %画第一个图形的第一个子图
stem(u)grid on%画出M序列输入信号
v=randn(160); %产生一组60个正态分布的随机噪声
subplot(212); %画第一个图形的第二个子图
plot(v)grid on;%画出随机噪声信号
R=corrcoef(uv);%计算输入信号与随机噪声信号的相关系数
r=R(12)%取出互相关系数
rv=std(v)*std(v)%计算随机噪声的方差
u%显示输入型号
v%显示噪声型号
z=zeros(160);zmd=zeros(160);%定义输出采样矩阵与模型输出矩阵的大小
z(2)=0;z(1)=0;zmd(2)=0;zmd(1)=0;%输出采样、系统实际输出、模型输出赋初值
%增广递推最小二乘辨识
c0=[0.001 0.001 0.001 0.001 0.001 0.001 0.001]‘;%直接给出被辨识参数的初始值即一个充分小的实向量
p0=10^6*eye(77);%直接给出初始状态P0,即一个充分大的实数单位矩阵
E=5.e-9;%相对误差E=0.000000005
c=[c0zeros(759)];%被辨识参数矩阵的初始值及大小
e=zeros(760);%相对误差的初始值及大小
for k=3:60; %开始求K 
z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2)+v(k)-v(k-1)+0.2*v(k-2);%系统在M序列输入下的输出采样信号 
h1=[-z(k-1)-z(k-2)u(k-1)u(k-2)v(k)v(k-1)v(k-2)]‘;%为求K(k)作准备
x=h1‘*p0*h1+rv;
x1=inv(x);
k1=p0*h1*x1;%K
d1=z(k)-h1‘*c0;%开始求被辨识参数c
c1=c0+k1*d1;%辨识参数c
zmd(k)=h1‘*c1%模型在M序列的输入下的输出响应
e1=c1-c0; 
e2=e1./c0; %求参数的相对变化
e(:k)=e2;
c0=c1;%给下一次用
c(:k)=c1;%把辨识参数c 列向量加入辨识参数矩阵 
p1=p0-k1*k1‘*[h1‘*p0*h1+1];%find p(k)
p0=p1;%给下次用
if e2<=E break;%若收敛情况满足要求,终止计算
end%判断结束
end%循环结束
ce z zmd %显示被辨识参数、误差情况、输出采样值、模型输出值
%分离赋值
a1=c(1; a2=c(2; b1=c(3; b2=c(4; %分离出a1、a2、b1、b2
d1=c(5; d2=c(6; d3=c(7; %分离出d1、 d2、 d3
ea1=e(1; ea2=e(2; eb1=e(3; eb2=e(4; %分离出a1、 a2、b1、b2的收敛情况
ed1=e(5; ed2=e(6; ed3=e(7; %分离出d1、 d2、 d3的收敛情况
figure(2);%画第二个图形
i=1:60;
plot(ia1‘r‘ia2‘r:‘ib1‘b‘ib2‘b:‘id1‘g‘id2‘g:‘id3‘g+‘)%画出各个被辨识参数
title(‘Parameter Identification with Recursive Least Squares Method‘)%标题
figure(3);%画出第三个图形
i=1:60;
plot(iea1‘r‘iea2‘r:‘ieb1‘b‘ieb2‘b:‘ied1‘g‘ied2‘g:‘ied2‘r+‘)%画出各个参数收敛情况
title(‘Identification Precision‘)%标题
figure(4);
subplot(211);i=1:60;plot(iz(i)‘r‘)%画出系统的采样输出
subplot(212);i=1:60;plot(izmd(i)‘b‘)%画出模型的输出 


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-04-26 09:10  系统辨识及神经网络\
     文件        2774  2008-12-12 21:54  系统辨识及神经网络\Bayes辨识程序.m
     文件        1950  2008-12-12 21:57  系统辨识及神经网络\F-检验法部分程序%ELS.m
     文件         379  2008-12-12 21:49  系统辨识及神经网络\M序列产生程序.m
     文件        1314  2008-12-12 21:50  系统辨识及神经网络\二阶系统一次性完成最小二乘辨识程序.m
     文件        3466  2008-12-12 21:52  系统辨识及神经网络\增广的最小二乘辨识程序.m
     文件        2463  2008-12-12 21:55  系统辨识及神经网络\多维非线性函数辨识程序的Matlab程序.m
     文件         666  2008-12-12 21:50  系统辨识及神经网络\实际压力系统的最小二乘辨识程序.m
     文件        3220  2008-12-12 21:56  系统辨识及神经网络\改进的神经网络MBP算法对噪声系统辨识程序.m
     文件        1231  2008-12-12 21:53  系统辨识及神经网络\梯度校正的最小二乘辨识程序.m
     文件        9938  2008-12-12 21:56  系统辨识及神经网络\模糊神经网络解耦Matlab程序.m
     文件         262  2008-12-12 21:49  系统辨识及神经网络\白噪声产生程序.m
     文件        2277  2008-12-12 21:51  系统辨识及神经网络\递推的最小二乘辨识程序.m
     文件        1859  2008-12-12 21:53  系统辨识及神经网络\递推的极大似然辨识程序.m
     文件         250  2008-12-12 21:57  系统辨识及神经网络\随机序列产生程序 .m

评论

共有 条评论

相关资源