系统辨识最小二乘Matlab算法

  • T4_353020
    了解作者
  • 78.1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-08 17:28
    上传日期
系统辨识最小二乘算法的相关Matlab程序
随机数,M序列,最小二乘算法.rar
  • 随机数,M序列,最小二乘算法
  • 3M序列
  • MM.m
    933B
  • Mxulie.m
    889B
  • Mxulie.asv
    889B
  • MM.asv
    915B
  • 2伪随机数
  • PRS.m
    257B
  • M.asv
    224B
  • 辅助变量法,多级最小二乘算法
  • Tally.m
    1.1KB
  • chunzhihou.m
    1KB
  • MultiLS.m
    1.4KB
  • zishiyinglvbo.m
    1.5KB
  • dituifzblf.m
    2.4KB
  • 遗忘因子法,限定记忆法
  • pcbcRCLS.m
    1.4KB
  • forget.m
    835B
  • M8192.mat
    399B
  • jdycwc.m
    718B
  • forgetdt.m
    1.5KB
  • v8192.mat
    61.8KB
  • limit_memory.m
    946B
  • dt.m
    1.3KB
  • 1正态分布随机数
  • transform.asv
    636B
  • tongji.m
    437B
  • transform.m
    676B
  • statistic.m
    708B
  • statistic.asv
    720B
  • tongji.asv
    437B
内容介绍
%辅助变量法--递推算法(包括Tally法和纯滞后) clc,clear; L=2^9-1; lambda=0.3; a1=-1.5;a2=0.7;b1=1;b2=0.5;c1=1;c2=0.41; %给z,e,h,hNew,theta赋初值 z(1)=0.2;z(2)=0.3;e(1)=0.2;e(2)=0.3; p0=10^6*eye(4); h1(:,1)=[0.001;0.001;0.001;0.001]; h1(:,2)=[0.001;0.001;0.001;0.001]; h1(:,3)=[0.001;0.001;0.001;0.001]; h1(:,4)=[0.001;0.001;0.001;0.001]; hNew1(:,1)=[0.001;0.001;0.001;0.001]; hNew1(:,2)=[0.001;0.001;0.001;0.001]; hNew1(:,3)=[0.001;0.001;0.001;0.001]; hNew1(:,4)=[0.001;0.001;0.001;0.001]; theta1(:,1)=[0.001;0.001;0.001;0.001]; theta1(:,2)=[0.001;0.001;0.001;0.001]; theta1(:,3)=[0.001;0.001;0.001;0.001]; theta1(:,4)=[0.001;0.001;0.001;0.001]; p00=10^6*eye(4); h2(:,1)=[0.001;0.001;0.001;0.001]; h2(:,2)=[0.001;0.001;0.001;0.001]; h2(:,3)=[0.001;0.001;0.001;0.001]; h2(:,4)=[0.001;0.001;0.001;0.001]; hNew2(:,1)=[0.001;0.001;0.001;0.001]; hNew2(:,2)=[0.001;0.001;0.001;0.001]; hNew2(:,3)=[0.001;0.001;0.001;0.001]; hNew2(:,4)=[0.001;0.001;0.001;0.001]; theta2(:,1)=[0.001;0.001;0.001;0.001]; theta2(:,2)=[0.001;0.001;0.001;0.001]; theta2(:,3)=[0.001;0.001;0.001;0.001]; theta2(:,4)=[0.001;0.001;0.001;0.001]; %%产生幅值为+1,-1的M序列,作为输入信号u M=[0 1 0 1 0 1 0 1 1]; for i=10:L M(i)=xor(M(i-4),M(i-9)); end u=2*M-1; %产生服从标准正态分布的噪声v v=randn(1,L); %辨识系统模型搭建 for i=3:L e(i)=v(i)+c1*v(i-1)+c2*v(i-2);%有色噪声 z(i)=-a1*z(i-1)-a2*z(i-2)+b1*u(i-1)+b2*u(i-2)+e(i); end for i=5:L h1(:,i)=[-z(i-1);-z(i-2);u(i-1);u(i-2)]; hNew1(:,i)=[-z(i-2-1);-z(i-2-2);u(i-1);u(i-2)];%辅助变量(Tally) k1(:,i)=p0*hNew1(:,i)*inv(h1(:,i)'*p0*hNew1(:,i)+1); p1=(eye(4)-k1(:,i)*h1(:,i)')*p0; p0=p1; theta1(:,i)=theta1(:,i-1)+k1(:,i)*(z(i)-h1(:,i)'*theta1(:,i-1)); end for i=5:L h2(:,i)=[-z(i-1);-z(i-2);u(i-1);u(i-2)]; hNew2(:,i)=[-u(i-2-1);-u(i-2-2);u(i-1);u(i-2)];%辅助变量(纯滞后) k2(:,i)=p00*hNew2(:,i)*inv(h2(:,i)'*p00*hNew2(:,i)+1); p2=(eye(4)-k2(:,i)*h2(:,i)')*p00; p00=p2; theta2(:,i)=theta2(:,i-1)+k2(:,i)*(z(i)-h2(:,i)'*theta2(:,i-1)); end figure(1) i=1:L; plot(i,theta1(1,:),i,theta1(2,:),i,theta1(3,:),i,theta1(4,:));legend('a1','a2','b1','b2'); axis([0 512 -2 1.5]); title('辅助变量法(Tally)的递推算法'); figure(2) i=1:L; plot(i,theta2(1,:),i,theta2(2,:),i,theta2(3,:),i,theta2(4,:));legend('a1','a2','b1','b2'); axis([0 512 -2 1.5]); title('辅助变量法(纯滞后)的递推算法');
评论
    相关推荐
    • A*算法Matlab 代码
      A*算法Matlab 代码,输入为自定义地图或图片,图片中默认绿色为起始地址,红色为终点,二值化化后进行路径规划。本文件中共有7张测试图,从20*20-640*480像素。
    • retinex算法MATLAB代码
      retinex算法是目前比较流行且重要的图像增强算法,主要是通过将影响图像质量的照度分量去除,得到图像本来面目的原理!利用了人类视觉系统的特性!
    • PSO算法matlab程序
      PSO算法的标准程序,程序使用matlab语言
    • 遗传算法Matlab程序
      应用数字群算法设计数字滤波器的matlab程序,遗传算法是最近几年流行的优化算法
    • Q算法MATLAB仿真
      移动机器人路径规划MATLAB仿真,使用Q-Learning算法
    • 遗传算法MATLAB应用
      老师上课的参考书 主要是关于遗传算法的一些MATLAB应用,十分有意思 希望大家能喜欢
    • 遗传算法matlab
      matlab程序下的遗传算法
    • 遗传算法matlab
      遗传算法是自然选择和群体学基础上的非数值优化方法。提供了些matlab实例计算
    • 遗传算法matlab
      matlab是科学计算常用的工具,遗传算法也是一种目前比较流行的一种算法,利用matlab写的遗传算法代码,供大家参考。
    • 遗传算法matlab代码
      遗传算法matlab代码,能够正常运行,对于刚开始接触遗传算法的人员有很好的帮助