第五章 数据和函数的可视化_第1页
第五章 数据和函数的可视化_第2页
第五章 数据和函数的可视化_第3页
第五章 数据和函数的可视化_第4页
第五章 数据和函数的可视化_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

第五讲数据和函数的可视化——matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现可视化,这是其它语言所不能比拟的。matlab语言的绘图功能

能绘制几乎所有的标准图形,且表现形式丰富多样。具有高层绘图能力,还有底层绘图能力——句柄绘图方法。在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用图形。本章要点§1二维绘图

1.1plot——最基本的二维图形指令

1.2fplot——绘制函数图的函数

1.3ezplot——一元函数简易绘图函数§2三维绘图

2.1三维线图

2.2三维网线图、曲面图

2.3动画效果§1二维绘图1.plot——最基本的二维图形指令plot的功能:

plot命令自动打开一个图形窗口Figure

用直线连接相邻两数据点来绘制图形根据图形坐标大小自动缩扩坐标轴,自动标注数据标尺及单位标注plot的调用格式

plot(x,’s’)——(1)x为向量时:以x元素值为纵坐标,以相应元素下标为横坐标绘图

(2)x为矩阵时:按列绘曲线

plot(x,y,’s’)——(1)以(x,y)为坐标对作曲线

(2)y为n×m的矩阵,则以x(n个元素)为自变量,作出m条曲线plot(x1,y1,’s1’,x2,y2,’s2’)——多条曲线绘图格式‘s’开关格式,开关量字符串s设定曲线颜色和绘图方式,使用颜色字符串的前1~3个字母,如yellow—yel(或y或ye)表示等。S的标准设定值如下:

字母颜色标点线型

y黄色·点线

m粉红○圈线

c亮蓝××线

r大红++字线

g绿色星形线

b蓝色-实线

w白色:虚线

k黑色-·(--)点划线1.1单窗口单曲线绘图例1:离散数据的可视化

x=[0,0.48,0.84,1,0.91,0.6,0.14][x1,x2,x3,x4,x5,x6,x7,]plot(x,'*r'),holdon,plot(x)1.2单窗口多曲线绘图例2:t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);%方法一:plot(t,y,t,y1,t,y2)

方法二:plot(t,[y’,y1’,y2’])

方法三:plot(t,y,’r’),holdon,plot(t,y1,’g’),plot(t,y2,’b’)例3(L6.2-8):画出函数和积分在[0,4]区间上的曲线。clf;dx=0.1;x=0:dx:4;y=x.*sin(x);s=cumtrapz(y)*dx;q3=trapz(x,y)

s(end)plotyy(x,y,x,s)text(0.5,0,'\fontsize{14}\ity=xsinx')sint='{\fontsize{16}\int_{\fontsize{8}0}^{x}}';text(2.5,3.5,['\fontsize{14}\its=',sint,…'xsinxdx'])梯形法求累计积分\后为绘图精细指令1.3单窗口多曲线分图绘图subplot——子图分割命令调用格式:

subplot(m,n,p)——按从左至右,从上至下排列行列绘图序号例4:t=0:pi/100:2*pi;

y=sin(t);y1=sin(t+0.25);

y2=sin(t+0.5);y3=cos(t);

subplot(2,2,1);plot(t,y)

subplot(2,2,2);plot(t,y1,'k')

subplot(2,2,3);plot(t,y3,'k')

subplot(2,2,4);plot(t,y2)subplot('position',[leftbottomwidthheight])例5:subplot('position',[0.50.50.450.45])subplot('position',[0.050.50.40.45])subplot('position',[0.20.050.60.4])例6:

clf;t=(pi*(0:1000)/1000)';

y1=sin(t);y2=sin(10*t);

y12=sin(t).*sin(10*t);

subplot(2,2,1),plot(t,y1);axis([0,pi,-1,1])

subplot(2,2,2),plot(t,y2);axis([0,pi,-1,1])

subplot('position',[0.2,0.05,0.6,0.45])

plot(t,y12,'b-',t,[y1,-y1],'r:');axis([0,pi,-1,1])1.4多窗口绘图

figure(n)——创建窗口函数,n为窗口顺序号。t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y)——自动出现第一个窗口figure(2)plot(t,y1)——在第二窗口绘图figure(3)plot(t,y2)——在第三窗口绘图1.5可任意设置颜色与线型例7(例2):plot(t,y,'r-',t,y1,'g:',t,y2,'b*')1.6图形加注功能将标题、坐标轴标记、网格线及文字注释加注到图形上,这些函数为:

title——给图形加标题

xlable——给x轴加标注

ylable——给y轴加标注

text——在图形指定位置加标注

gtext——用鼠标将标注加到图形任意位置

gridon(off)——打开、关闭坐标网格线

legend(off)——添加(擦除)图例

axis——控制坐标轴的刻度

ginput——用鼠标从二维图形上获取坐标例8:t=0:0.1:10y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--');x=[1.7*pi;1.6*pi];y=[-0.3;0.8];s=['sin(t)';'cos(t)'];text(x,y,s);title('正弦和余弦曲线');legend('正弦','余弦')xlabel('时间t'),ylabel('正弦、余弦')gridaxissquare%使坐标轴为正方形

axis的用法还有:

axis([xminxmaxyminymax])——用行向量中给出的值设定坐标轴的最大和最小值。

如axis([-2205])axis(equal)——将两坐标轴设为相等

axison(off)——显示和关闭坐标轴的标记、标志

axisauto——将坐标轴设置返回自动缺省值2.fplot——绘制函数图的函数fplot的调用格式:fplot(fun,lims)—

绘制函数fun在区间lims=[xmin

xmax

ymin

ymax]的函数图。fplot(fun,lims,'corline')—以指定线形绘图。[x,y]=fplot(fun,lims)—

只返回绘图点的值,而不绘图。用plot(x,y)来绘图。例9:fplot调用格式例

functiony=funn(x)

y=[sin(x),tan(x),cos(x)];

>>fplot(‘funn’,2*pi*[-11-11])>>y=inline(‘sin(x)’);fplot(y,2*pi*[-11])3.ezplot——一元函数简易绘图指令冠以“ez”字头的指令为函数绘图(ez意为简易Easyto.见表6.8-1)。ezplot的调用格式:ezplot(F)—在x=[-22]*pi内绘制F(x)的函数图ezplot(F,[xmin,xmax])—给定区间绘图ezplot(F,[xmin,xmax],fig)—指定绘图窗口绘图。

F可以是字符表达式,符号函数,内联函数,函数M文件.F只允许一个自由变量.注意:fplot(fun,lims,‘corline’)%fun为函数

plot(x,y)%x,y为数值型数组例10:ezplot('sin(x)','cos(x)')例11:symsttao;y=2/3*exp(-t/2)*cos(sqrt(3)/2*t);sint=int(y,t,0,tao);s=subs(sint,tao,t)subplot(1,2,1),ezplot(y,[0,4*pi]);gridsubplot(1,2,2),ezplot(s,[0,4*pi]);gridtitle('s=\int

y(t)dt')例12:阶梯绘图h2=[11;1-1];h4=[h2h2;h2-h2];h8=[h4h4;h4-h4];t=1:8;fori=1:8subplot(8,1,i);stairs(t,h8(i,:))axis('off')end§2三维绘图三维绘图的主要功能:绘制三维线图绘制等高线图绘制伪彩色图绘制三维网线图绘制三维曲面图、柱面图和球面图绘制三维多面体并填充颜色1.三维线图plot3——基本的三维图形指令调用格式:plot3(x,y,z)——x,y,z是长度相同的向量plot3(X,Y,Z)——X,Y,Z是维数相同的矩阵plot3(x,y,z,’s’)——带开关量plot3(x1,y1,z1,'s1',x2,y2,z2,'s2',…)二维图形的所有基本特性对三维图形全都适用。定义三维坐标轴大小:axis([xminxmaxyminymaxzminzmax])gridon(off)绘制三维网格

text(x,y,z,‘string’)三维图形标注子图和多窗口也可以用到三维图形中例13:绘制三维线图t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),‘k:')2.三维网线图、曲面图三维网线绘图函数调用格式:

mesh(z)——以n*m维z矩阵列、行下标为x,y轴自变量时,画网线图

mesh(x,y,z)——x,y,z分别为三维空间的坐标位置

mesh(x,y,z,c)——画由c指定用色的网线图

x,y,z,c四个宗量是维数相同的矩阵.x,y是自变量“格点矩阵”,z是格点上的函数矩阵,c是指定各点用色的矩阵,缺省c则有c=z三维曲面绘图函数调用格式:

surf(z)——以z矩阵列、行下标为x,y轴自变量时,画曲面图

surf(x,y,z)——x,y,z分别为三维空间的坐标位置

surf(x,y,z,c)——画由c指定用色的网线图

x,y,z,c四个宗量是维数相同的矩阵.x,y是自变量“格点矩阵”,z是格点上的函数矩阵,c是指定各点用色的矩阵,缺省c则有c=z例14(L6.3-2):用曲面图表现函数z=x^2+y^2

clf,x=-4:4;y=x;[X,Y]=meshgrid(x,y);%生成x-y坐标"格点"矩阵

Z=X.^2+Y.^2;surf(X,Y,Z);%绘曲面图

holdon;colormap(hot)stem3(X,Y,Z,‘bo’);%表现在格点上计算函数值figure(2),mesh(X,Y,Z)%绘曲线图holdon;colormap(hot)三维网线图曲面图作图要领x——1*m数组,y——1*n数组生成X,Y格点坐标——[X,Y]=meshgrid(x,y)表达式点运算——Z=X.^2+Y.^2X,Y,Z是n×m的数组,维数可任定默认方位角:37.5º,俯角30º。例15(L6.3-3):透视演示

[X0,Y0,Z0]=sphere(30);%产生单位球面三维坐标

温馨提示

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

评论

0/150

提交评论