第六讲-数据和函数的可视化_第1页
第六讲-数据和函数的可视化_第2页
第六讲-数据和函数的可视化_第3页
第六讲-数据和函数的可视化_第4页
第六讲-数据和函数的可视化_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章

数据和函数的可视化

第五章数据和函数的可视化一、二维图形

(一)、基本绘图命令

plot1、只有一个输入变量plot(x)(1)x为实向量,其维数为m,则plot(x)等价于plot(t,x),t=1:m;(2)x为实矩阵,则把x按列分解为几个列向量,若x的行数为n,则plot(x)等价于

plot(t,x),t=[1;2;…;n];(3)x为复数,则plot(x)等价于

plot(real(x),imag(x));2、有两个输入变量plot(x,y)3、有多个输入变量

plot(x1,y1,x2,y2,…)例:绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx)。

>>x=0:pi/100:2*pi;>>y1=0.2*exp(-0.5*x).*cos(4*pi*x);>>y2=2*exp(-0.5*x).*cos(pi*x);>>plot(x,y1,x,y2);4、具有两个纵坐标标度的图形plotyy(x1,y1,x2,y2)x1,y1对应一条曲线

x2,y2对应另一条曲线横坐标的标度相同纵坐标有两个例:用不同标度在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx)和

y2=2e-0.5xcos(πx)。

>>x=0:pi/100:2*pi;>>y1=0.2*exp(-0.5*x).*cos(4*pi*x);>>y2=2*exp(-0.5*x).*cos(pi*x);

>>plotyy(x,y1,x,y2);

plotyy(x1,y1,x2,y2)(二)、曲线的色彩、线型和数据点形

蓝色点划线?b-.

黄色虚线并用菱形符标记数据点?

y:d要设置曲线样式可以在plot函数中加绘图选项,其调用格式为:

plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)例:用不同线型和颜色绘制正弦曲线和余弦曲线>>x=0:pi/100:2*pi;>>y1=sin(x);>>y2=cos(x);>>plot(x,y1,'r-.',x,y2,'b:o')plot(x,y1,'r-.',x,y2,'b:o')(三)、设置坐标轴和文字标注设定坐标轴

axis([xminxmaxyminymax])

例:axis([-2205])axisequal横、纵轴坐标采用等长刻度

axissquare将当前图形设置为方形

axisoff取消坐标轴的标记、标志

axison显示坐标轴的标记、标志

axisauto自动缺省状态axis([02*pi-11]);2.分格线和坐标框

gridon%打开分格线控制%开关,以后绘制的图形都带%有分格线;

gridoff%关闭分格线控制%开关,以后绘制的图形都不带%分格线;

boxon%使当前坐标框呈封闭形式boxoff%使当前坐标框呈开启形式

3.文字标注(1)、给图形加标题

title('文本')

(2)添加坐标轴名

xlabel('文本')

ylabel('文本')

(3)添加图例

legend(string1,string2,string3,...,Pos)按顺序把字符串添加到相应的曲线线型符号之后

>>x=0:pi/100:2*pi;>>y1=sin(x);>>y2=cos(x);>>plot(x,y1,'r-.',x,y2,'b:o')>>legend('sin(x)','cos(x)')(4)添加文字注释

text(X,Y,'添加文本');

在图形(X,Y)坐标处书写字符注释>>X=[1.7*pi;1.5*pi];

>>Y=[-0.3;0.7];>>s=['sin(x)';'cos(x)'];>>text(X,Y,s)

(四)、多图形绘制1.同一窗口多次重绘

holdon

使当前轴及图形保持而不被刷新,准备接受此后将绘制的新曲线;holdoff

使当前轴及图形不再具备被刷新的性质;

x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,'r-.',x,y2,'b:o')

figure;

plot(x,y1,‘r-.');holdon;%设置图形保持状态

plot(x,y2,'b:o');holdoff

2.多个图形窗口

figure(n)

每执行一次figure命令,就创建一个新的图形窗口,该窗口自动为活动窗口n为窗口的顺序号

>>x=0:pi/100:2*pi;>>y1=sin(x);>>y2=cos(x);>>y3=tan(x);>>plot(x,y1);>>figure(2);%创建新窗口,句柄为2>>plot(x,y2);>>figure(3);%创建新窗口,句柄为3>>plot(x,y3);>>delete(2)3.单窗口多曲线分图绘图subplot——子图分割命令调用格式:

subplot(m,n,p)——按从左至右,从上至下排列行列绘图序号二、其他二维图形(一)、其他坐标系下的二维数据曲线图1.对数坐标图形

semilogx(x1,y1,x2,y2,…)

函数semilogx横坐标为对数坐标

semilogy(x1,y1,x2,y2,…)

函数semilogy纵坐标为对数坐标

loglog(x1,y1,x2,y2,…)

函数loglog横、纵坐标均为对数坐标。2.极坐标图

polar(theta,rho)

例:绘制y=cos(4t)的极坐标图,并标记数据点。>>t=0:0.01*pi:4*pi;>>y=cos(4*t);>>polar(t,y,'-*');(二)、二维统计分析图

bar(x,y)

绘制条形图形

stairs(x,y)

绘制阶梯图形

stem(x,y)绘制针头图

fill(x,y,’c’)

绘制并填充二维多边图形例:分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sin(x)x=0:pi/10:2*pi;y=2*sin(x);subplot(2,2,1);bar(x,y,'g');title('bar(x,y,''g'')');subplot(2,2,2);stairs(x,y,'b');title('stairs(x,y,''b'')');subplot(2,2,3);stem(x,y,'k');title('stem(x,y,''k'')');subplot(2,2,4);fill(x,y,'m');title('fill(x,y,''m'')');饼图又叫扇形图,用于显示向量中元素所占向量元素总和的百分比pie(X):向量X的饼图。把X的每一个元素在所有元素总和中占的比例表达出来;例:某企业全年各季度的产值(单位:万元)分别为:2347,1827,2043,3025,试用饼图作统计分析。>>pie([2347,1827,2043,3025]);>>legend('一季度','二季度','三季度','四季度');>>title(‘各季度产值');x=[1234567];y=[0001000];

pie(x,y)三、三维立体图形(一)、三维曲线图plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,…)或plot3(X,Y,Z,s)

Xn、Yn、Zn:第一到三维数据,是尺寸相等的向量/矩阵;s、s1、s2:是字符串,用来设置线型、颜色、数据点标记。X、Y、Z是向量时,绘制以向量X、Y、Z的元素为x、y、z坐标的三维曲线。X、Y、Z是矩阵时,以X、Y、Z对应列元素为x、y、z坐标分别绘制曲线。例:x=0:pi/100:10*pi;y1=sin(x);y2=cos(x);y3=x.*sin(x).*cos(x);plot3(y1,y2,y3,'r:d');grid(二)、三维网线图和曲面图1.三维网线图和曲面图作图要领:生成坐标——[X,Y]=meshgrid(x,y)

表达式点运算——Z=f(X,Y)mesh(X,Y,Z)surf(X,Y,Z)

例:绘制三维网线图和曲面图z=sin(x+sin(y))-x/10。>>x=0:0.25:4*pi;>>y=x;>>[X,Y]=meshgrid(x,y);>>Z=sin(X+sin(Y))-X/10;>>mesh(X,Y,Z)>>surf(X,Y,Z)网线图:线条有颜色,空挡是无色的曲面图:线条是黑色的,空挡有颜色(把线条之间的空挡填充颜色,沿z轴按每一网格变化)meshc(X,Y,Z)带等高线的三维网格曲面函数meshz(X,Y,Z)带底座的三维网格曲面函数2.特殊的三维图形

a.球面图

[X,Y,Z]=sphere(N)

产生一个(N+1)×(N+1)的矩阵,N为设置分割线的条数,缺省值N=20

surf(X,Y,Z)

绘制单位球面b.matlab自动生成的三维测试图形

>>[x,y,z]=peaks;peaks函数,称为多峰函数,常用于三维曲面的演示>>surf(x,y,z);c.三维柱面

[X,Y,Z]=cylinder(R,N)R:是一描述柱面母线的向量;N:是旋转柱面上的分割线条数,柱面圆周等分数;t=pi:0.1*pi:3*pi;r=sin(t)+t;[x,y,z]=cylinder(r,20);surf(x,y,z);(三)、图形效果修饰1、透视与消隐——用于网线图2、裁剪修饰——用于网线图、曲面图3、视角修饰——观察不同角度的三维视图

view([az,el])

通过方位角az和俯视角el设置观察图形的视点。缺省值为:透视与消隐p=peaks(30);mesh(p);hiddenonp=peaks(30);mesh(p);hiddenoff例:观察不同视角的波峰图形z=peaks(40);subplot(2,2,1);mesh(z);subplot(2,2,2);mesh(z);view(-15,60);subplot(2,2,3);mesh(z);view(-90,0);subplot(2,2,4);mesh(z);view(-7,-10);四、动画设计

如果将Matlab产生的多幅图形保存起来,并利用系统提供的函数进行播放,就可产生动画效果。

getframe函数

getframe函数可截取一幅画面信息(称为动画中的一帧),每一幅画面信息形成一个很大的列向量。显然,保存n幅图画就需一个大矩阵。格式:m=getframe

moviein函数

moviein(n)函数用来建立一个足够大的n列矩阵。该矩阵用来保存n幅画面的数据,以备播放。为什么要建立一个足够大的矩阵?是为了提高程序运行速度。movie函数movie(m,n)函数播放由矩阵m所定义的画面n次

动画生成的步骤:a.创建帧矩阵—————movieinb.对动画中的每一帧生成图形,并把它们放到帧矩阵中————getframec.从帧矩阵中回放动画—————movie例:绘制peaks函数曲面并且将它绕z轴旋转[X,Y,Z]=peaks(30);surf(X,Y,Z)m=moviein(20);%建立一个20列大矩阵fori=1:20view(-37.5+24*(i-1),30)%改变视点

m(:,i)=getframe;%将图形保存到m矩阵endmovie(m,2);%播放画面2次五、图形句柄1、句柄句柄图形(HandleGraphics)是一种面向对象(Object-Oriented)的绘图系统概念一幅图的每一个组成部分都是一个对象(Object)

窗口对象线对象轴对象面对象轴对象像对象块对象线对象文字对象MATLAB在创建每一个图形对象时,都为该对象分配唯一的一个值,称其为图形对象句柄(Handle)。句柄(Handle)是分配给每一个对象的数字标识(Identifier),不同对象的句柄不可能重复和混淆。每台计算机的根对象是根屏幕(Root),其句柄总是数字0;而图形窗口(Figure)的句柄总是正整数,用它来标识图形窗的序号。获取图形对象句柄的函数:gcf:当前窗口对象的句柄GetCurrentFiguregca:当前轴对象的句柄GetCurrentAxes为便于识别,用大写字母开头的变量表示句柄>>H=gcf;

将当前窗口对象的句柄返回H>>H1=gca;

将当

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论