通信系统建模与仿真06.pptVIP

  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文档。上传文档
查看更多
5.5.4 图形的裁剪处理 例5-25 绘制三维曲面图,并进行插值着色处理,裁掉图中x和y都小于0部分。 程序如下: [x,y]=meshgrid(-5:0.1:5); z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4); surf(x,y,z);shading interp; pause %程序暂停 i=find(x=0y=0); z1=z;z1(i)=NaN; surf(x,y,z1);shading interp; 为了展示裁剪效果,第一个曲面绘制完成后暂停,然后显示裁剪后的曲面。 5.6 图像处理与动画制作 5.6.1 图像处理 1.imread和imwrite函数 imread和imwrite函数分别用于将图像文件读入MATLAB工作空间,以及将图像数据和色图数据一起写入一定格式的图像文件。MATLAB支持多种图像文件格式,如.bmp、.jpg、.jpeg、.tif等。 2.image和imagesc函数 这两个函数用于图像显示。为了保证图像的显示效果,一般还应使用colormap函数设置图像色图。 例5-26 有一图像文件flower.jpg,在图形窗口显示该图像。 程序如下: [x,cmap]=imread(flower.jpg); %读取图像的数据阵和色图阵 image(x);colormap(cmap); axis image off %保持宽高比并取消坐标轴 5.6.2 动画制作 MATLAB提供getframe、moviein和movie函数进行动画制作。 1.getframe函数 getframe函数可截取一幅画面信息(称为动画中的一帧),一幅画面信息形成一个很大的列向量。显然,保存n幅图面就需一个大矩阵。 2.moviein函数 moviein(n)函数用来建立一个足够大的n列矩阵。该矩阵用来保存n幅画面的数据,以备播放。之所以要事先建立一个大矩阵,是为了提高程序运行速度。 3.movie函数 movie(m,n)函数播放由矩阵m所定义的画面n次,缺省时播放一次。 例5-27 绘制了peaks函数曲面并且将它绕z轴旋转。 程序如下 [X,Y,Z]=peaks(30); surf(X,Y,Z) axis([-3,3,-3,3,-10,10]) axis off; shading interp; colormap(hot); m=moviein(20); %建立一个20列大矩阵 for i=1:20 view(-37.5+24*(i-1),30) %改变视点 m(:,i)=getframe; %将图形保存到m矩阵 end movie(m,2); %播放画面2次 例5-28 单摆运动的仿真 %制作动画 %挂摆横梁 plot([-0.2;0.2],[0;0],color,y,linestyle,-,... linewidth,10); %画初始位置的单摆 g=0.0098; %重力加速度,可以调节摆的摆速 l=1; theta0=pi/4; x0=l*sin(theta0); y0=(-1)*l*cos(theta0); axis([-0.75,0.75,-1.25,0]); axis(off); %不显示坐标轴 %创建摆锤 head=line(x0,y0,color,r,linestyle,.,... erasemode,xor,markersize,40); %创建摆杆 body=line([0;x0],[0;y0],color,b,linestyle,-,... erasemode,xor); %摆的运动 t=0; dt=0.01; while 1 t=t+dt; theta=theta0*cos(sqrt(g/l)*t); x=l*sin(theta); y=(-1)*l*cos(theta); set(head,xdata,x,ydata,y); set(body,xdata,[0;x],ydata,[0;y]); drawnow; end 例5.29 模拟布朗运动。 程序如下: n=30; %指定布朗运动的点数 s=0.02; %指定温度或速率 %产生n个随机点(x,y),处于-0.5到0.5之间 x=rand(n,1)-0.5; y=rand(n,1)-0.5; h=plot(x,y,.); %绘制随机点 axis([-1 1 -1 1]) ; axis sq

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档