v 系统识别 atlab第8章.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
v 系统识别 atlab第8章

第8章 系统辨识MATLAB仿真实例 MATLAB是一套高性能数字计算和可视化软件 ,它集成概念设计 ,算法开发 ,建模仿真 ,实时实现于一体 ,构成了一个使用方便、界面友好的用户环境 ,其强大的扩展功能为各领域的应用提供了基础。对于一个简单的系统 ,可以通过分析其过程的运动规律 ,应用一些已知的定理和原理,建立数学模型 ,即所谓的“白箱建模 ”。但对于比较复杂的生产过程 ,该建模方法有很大的局限性。由于过程的输入输出信号一般总是可以测量的 ,而且过程的动态特性必然表现在这些输入输出数据中 ,那么就可以利用输入输出数据所提供的信息来建立过程的数学模型。这种建模方法就称为系统辨识。把辨识建模称作“黑箱建模”。本章列举了在系统辨识中常用的基本算法的MATLAB程序。 8.1 白噪声的产生 如果在计算机上比较经济的产生统计上理想的各种不同分布的白噪声序列,则对系统辨识仿真研究提供了极大方便。为了简单起见,常把各种不同分布的白噪声序列称为随机数。从理论上讲,只要有了一种具有连续分布的随机数,就可以通过函数变换的方法产生其他任意分布的随机数。显然,在具有连续分布的随机数中,(0,1)均匀分布的随机数是最简单、最基本的一种,有了(0,1)均匀分布的随机数,便可以产生其他任意分布的随机数和白噪声。 本文首先产生(0,1)均匀分布的随机序列,然后对程序稍加改动,将产生(0,1)均匀分布的随机数统统减去0.5,相当于将原随机序列图的横坐标向上平移0.5,原随机序列变成了(-0.5,0.5)的白噪声,然后乘以存储器f的系数,这里取法f=2,则可得到产生(-1,1)均匀分布的白噪声。 8.1.1 乘同余法的介绍 用如下递推同余式产生正整数序列{} (8.1) 式中,mod为取M的余数,如:M为2的方幂,即,k为k2是整数;若k=3,则(mod8)或k=8,则(mod256),且A应取适中的值,如3A10;初值取正奇数,如=1。 再令 (8.2) 可以证明序列{}是伪随机数序列;同时还可以证明伪随机序列{}的循环周期达到最大值。 将式(8.1)和(8.2)合并为 (8.3) 。 8.1.2 举例 利用乘同余法,选R=2,A=6,k=8, ,递推100次,采用MATLAB的仿真语言编程,产生(-1,1)均匀分布的白噪声。 用乘同余法产生(见配套MATLAB程序 algorithms1.m) 编程如下: A=6; x0=1; M=255; f=2; N=100; %初始化; x0=1; M=255; for k=1: N %乘同余法递推100次; x2=A*x0; %分别用x2和x0表示xi+1和xi-1; x1=mod (x2,M); %取x2存储器的数除以M的余数放x1(xi)中; v1=x1/256; %将x1存储器中的数除以256得到小于1的随机数放v1中; v(:,k)=(v1-0.5 )*f; %将v1中的数()减去0.5再乘以存储器f中的系数,存放在矩阵存储器v的第k列中,v(:,k)表示行不变、列随递推循环次数变化; x0=x1; % xi-1= xi; v0=v1; end %递推100次结束; v2=v %该语句后无‘;’,实现矩阵存储器v中随机数放在v2中,且可直接显示在MATLAB的window中; k1=k; %grapher %以下是绘图程序; k=1:k1; plot(k,v,k,v,r); xlabel(k), ylabel(v);tktle( (-1,+1)均匀分布的白噪声) ② 程序运行结果如图8.1所示。 图8.1 采用MATLAB产生的(-1,+1)均匀分布的白噪声序列 ③ 产生的(-1,1)均匀分布的白噪声序列 在程序运行结束后,产生的(-1,1)均匀分布的白噪声序列,直接从MATLAB的window界面中copy出来如下(v2中每行存6个随机数): v2 = -0.9531 -0.7188 0.6875 -0.8359 -0.0156 0.9219 0.5703 0.45

文档评论(0)

gbn092 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档