Matlab习题与答

上传人:痛*** 文档编号:193996465 上传时间:2023-03-13 格式:DOCX 页数:14 大小:42.53KB
收藏 版权申诉 举报 下载
Matlab习题与答_第1页
第1页 / 共14页
Matlab习题与答_第2页
第2页 / 共14页
Matlab习题与答_第3页
第3页 / 共14页
资源描述:

《Matlab习题与答》由会员分享,可在线阅读,更多相关《Matlab习题与答(14页珍藏版)》请在装配图网上搜索。

1、Matlab习题与答实验二 二维/三维数据的可视化 一、实验目的 熟悉掌握简单的图形绘制函数;掌握MATLAB常用的二维、三维图形及其他图形绘制函数的使用方法;熟悉图形句柄的使用。 二、实验环境 硬件环境:计算机一台 软件环境:Matlab 6.0 三、实验内容 作为一个功能强大的工具软件,Matlab具有很强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即常方便又高效。 1、二维绘图 plot函数 函数格式:plot(x,y) 其中x和y为坐标向量 函数功能:以向量x、y为轴,绘制曲线。 例1 在区间0X2p内,绘制正弦曲线Y=

2、SIN,其程序为: x=0:pi/100:2*pi; y=sin(x); plot(x,y) 例2同时绘制正、余弦两条曲线Y1=SIN和Y2=COS,其程序为: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2) plot函数还可以为plot(x,y1,x,y2,x,y3,)形式,其功能是以公共向量x为X轴,分别以y1,y2,y3,为Y轴,在同一幅图内绘制出多条曲线。 例3 用不同线型和颜色重新绘制Y1=SIN和Y2=COS,其程序为: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,g

3、o,x,y2,b-.) 其中参数go和b-.表示图形的颜色和线型。g表示绿色,o表示图形线型为1 圆圈;b表示蓝色,-.表示图形线型为点划线。 在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。 title(加图形标题); xlabel(加X轴标记); ylabel(加Y轴标记); text(X,Y,添加文本); 例4 在坐标范围0X2,-2Y2内重新绘制正弦曲线,其程序为: x=linspace(0,2*pi,60);生成含有60个数据元素的向量X y=sin(x); plot(x,y); axis (0 2*pi -2 2);

4、设定坐标轴范围 2、subplot函数 subplot 该命令将当前图形窗口分成mn个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。 例5 在一个图形窗口中同时绘制正弦、余弦、正切、余切曲线,程序为: x=linspace(0,2*pi,60); y=sin(x); z=cos(x); t=sin(x)./(cos(x)+eps); eps为系统内部常数 ct=cos(x)./(sin(x)+eps); subplot(2,2,1); 分成22区域且指定1号为活动区 plot(x,y); title(sin(x); axis (0 2*pi -1 1); subpl

5、ot(2,2,2); plot(x,z); title(cos(x); axis (0 2*pi -1 1); subplot(2,2,3); plot(x,t); title(tangent(x); axis (0 2*pi -40 40); subplot(2,2,4); plot(x,ct); title(cotangent(x); 2 axis (0 2*pi -40 40); 多图形窗口 需要建立多个图形窗口,绘制并保持每一个窗口的图形,可以使用figure命令。 每执行一次figure命令,就创建一个新的图形窗口,该窗口自动为活动窗口,若需要还可以返回该窗口的识别号码,称该号码为句

6、柄。句柄显示在图形窗口的标题栏中,即图形窗口标题。用户可通过句柄激活或关闭某图形窗口,而axis、xlabel、title等许多命令也只对活动窗口有效。 hold命令 若在已存在图形窗口中用plot命令继续添加新的图形内容,可使用图形保持命令hold。发出命令hold on后,再执行plot命令,在保持原有图形或曲线的基础上,添加新绘制的图形。 阅读如下程序: x=linspace(0,2*pi,60); y=sin(x); z=cos(x); plot(x,y,b); 绘制正弦曲线 hold on; 设置图形保持状态 plot(x,z,g); 保持正弦曲线同时绘制余弦曲线 axis (0 2

7、*pi -1 1); legend(cos,sin); hold off 关闭图形保持 3、 函数f(x)曲线 fplot函数则可自适应地对函数进行采样,能更好地反应函数的变化规律。 fplot函数格式:fplot(fname,lims,tol) 其中fname为函数名,以字符串形式出现,lims为变量取值范围,tol为相对允许误差,其其系统默认值为2e-3。 例:fplot(sin,0 2*pi,-+) fplot(sin(x),cos(x),0 2*pi,1e-3,) 同时绘制正弦、余弦曲线 4、特殊坐标图形 1)对数坐标图形 loglog(x,y) 双对数坐标 例6 绘制y=|1000s

8、in(4x)|+1的双对数坐标图。程序为: x=0:0.1:2*pi; y=abs(1000*sin(4*x)+1; loglog(x,y); 双对数坐标绘图命令 3 单对数坐标 以X轴为对数重新绘制上述曲线,程序为: x=0:0.01:2*pi y=abs(1000*sin(4*x)+1 semilogx(x,y); 单对数X轴绘图命令 同样,可以以Y轴为对数重新绘制上述曲线,程序为: x=0:0.01:2*pi y=abs(1000*sin(4*x)+1 semilogy(x,y); 单对数Y轴绘图命令 (3)极坐标图 函数polar(theta,rho)用来绘制极坐标图,theta为极坐

9、标角度,rho为极坐标半径 例7 绘制sin(2*)*cos(2*)的极坐标图,程序为: theta=0:0.01:2*pi; rho=sin(2*theta).*cos(2*theta); polar(theta,rho); 绘制极坐标图命令 title(polar plot); 5、其它图形函数 除plot等基本绘图命令外,Matlab系统提供了许多其它特殊绘图函数,这里举一些代表性例子,更详细的信息用户可随时查阅在线帮助,其对应的M-file文件存放在系统matlabtoolboxmatlab目录下。 、阶梯图形 函数stairs(x,y)可以绘制阶梯图形,如下列程序段: x=-2.5:

10、0.25:2.5; y=exp(-x.*x); stairs(x,y); 绘制阶梯图形命令 title(stairs plot); 、条形图形 函数bar(x,y)可以绘制条形图形,如下列程序段将绘制条形图形 x=-2.5:0.25:2.5; y=exp(-x.*x); bar(x,y); 绘制条形图命令 、填充图形 fill(x,y,c)函数用来绘制并填充二维多边图形,x和y为二维多边形顶点坐标向量。字符 c 规定填充颜色,其取值前已叙述。 下述程序段绘制一正方形并以黄色填充: x=0 1 1 0 0; 正方形顶点坐标向量 4 y=0 0 1 1 0; fill(x,y,y);绘制并以黄色填

11、充正方形图 再如: x=0:0.025:2*pi; y=sin(3*x); fill(x,y,0.5 0.3 0.4); 颜色向量 Matlab系统可用向量表示颜色,通常称其为颜色向量。基本颜色向量用r g b表示,即RGB颜色组合;以RGB为基本色,通过 r,g,b在01范围内的不同取值可以组合出各种颜色。 6、三维绘图 1、 plot3函数 最基本的三维图形函数为plot3,它是将二维函数plot的有关功能扩展到三维空间,用来绘制三维图形。 函数格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,) 其中x1,y1,z1表示三维坐标向量,c1,c2表示线形或颜色。 函数功能:

12、以向量x,y,z为坐标,绘制三维曲线。 例8 绘制三维螺旋曲线,其程序为: t=0:pi/50:10*pi; y1=sin(t),y2=cos(t); plot3(y1,y2,t); title(helix),text(0,0,0,origin); xlabel(sin(t),ylabel(cos(t),zlabel(t); grid; 2、mesh函数 mesh函数用于绘制三维网格图。在不需要绘制特别精细的三维曲面结构图时,可以通过绘制三维网格图来表示三维曲面。三维曲面的网格图最突出的优点是:它较好地解决了实验数据在三维空间的可视化问题。 函数格式:mesh(x,y,z,c) 其中x,y控制

13、X和Y轴坐标,矩阵z是由(x,y)求得Z轴坐标,(x,y,z)组成了三维空间的网格点;c用于控制网格点颜色。 例9 下列程序绘制三维网格曲面图 x=0:0.15:2*pi; y=0:0.15:2*pi; z=sin(y)*cos(x); 矩阵相乘 mesh(x,y,z); 3、surf函数 surf用于绘制三维曲面图,各线条之间的补面用颜色填充。surf函数和mesh函数5 的调用格式一致。 函数格式: surf (x,y,z) 其中x,y控制X和Y轴坐标,矩阵z是由x,y求得的曲面上Z轴坐标。 例10 下列程序绘制三维曲面图形 x=0:0.15:2*pi; y=0:0.15:2*pi; z=

14、sin(y)*cos(x); 矩阵相乘 surf(x,y,z); xlabel(x-axis),ylabel(y-axis),zlabel(z-label); title(3-D surf); 4、视点 视点位置可由方位角和仰角表示。方位角又称旋转角为视点位置在XY平面上的投影与X轴形成的角度,正值表示逆时针,负值表示顺时针。仰角又称视角为XY平面的上仰或下俯角,正值表示视点在XY平面上方,负值表示视点在XY平面下方。从不同视点绘制三维图形的函数为view。 view(az,el)中的az为方位角,el为仰角。通过系统提供的多峰函数peaks的绘制例子,可进一步说明视点对图形的影响,以及vie

15、w(az,el)函数的使用。 例11 不同视角图形 p=peaks; 系统提供的多峰函数 subplot(2,2,1); mesh(peaks,p); view(-37.5,30); 指定子图1的视点 title(azimuth=-37.5,elevation=30) subplot(2,2,2); mesh(peaks,p); view(-17,60); 指定子图2的视点 title(azimuth=-17,elevation=60) subplot(2,2,3); mesh(peaks,p); view(-90,0); 指定子图3的视点 title(azimuth=-90,elevatio

16、n=0) subplot(2,2,4); mesh(peaks,p); view(-7,-10);指定子图4的视点 title(azimuth=-7,elevation=-10) 7、图形句柄 6 在Matlab系统中,绘图命令产生的每一个部分称为图形对象,系统在创建每一个对象时,都为该对象分配唯一的一个值,称其为句柄,因此句柄就是图形对象标识符。对象、句柄以及图形对象等概念其实质是统一的,系统将每一个对象按树型层次结构组织起来,这些对象包括根对象,通常为计算机屏幕、图形窗口、坐标系统、线条、曲面、文本串、用户界面控制等。 根对象可包含一个或多个图形窗口对象,而一个图形窗口对象又可包含一组或多

17、组坐标系子对象,线条、文本等其它对象都是坐标系的子对象。所有创建对象的函数当父对象不存在时,都会自动创建它。 计算机屏幕作为根对象自动建立,其句柄值为0。而Hf_f=figure命令则建立图形窗口对象,并返回它的句柄值给变量Hf_f。图形窗口的句柄为一整数,并显示在该窗口的标题栏,其它图形对象的句柄为浮点数,Matlab提供了一系列与句柄操作有关的函数,如gcf 、gca等。为便于识别,用大写字母开头的变量表示句柄,如Hf_f等。 所有图形对象都具有控制对象显示的属性。这些属性既包括对象的一般信息,如对象类型、对象的父对象及子对象等,也包括对象的一些特定信息,如坐标系对象的刻度等。用户可以获取

18、、设置对象属性,以达到控制对象的目的。当创建一个对象时,系统用一组默认属性值定制对象,用户梢酝get命令获取这些属性值,同时也可通过set命令重新设置对象属性。 set命令格式为: set(H,name,value,) 将图形对象H的name属性设置为value 其中H为句柄,name为属性名,value为name的属性值。 用set命令可以方便地设置图形对象属性,如下列程序段就是通过属性来定制图形。 x=0:0.1:4*pi; H=plot(x,sin(x); 返回正弦曲线句柄H set(H,LineStyle,*,LineWidth,0.1); 设置正弦曲线线型与线宽 其中LineStyl

19、e为线型属性,LineWidth为线宽属性。 利用get(H)命令可以返回当前句柄H对象的属性。 键入命令:get(H) 系统返回当前图形对象的有关属性: 象H=get(0,CurrentFigure)则返回根对象的CurrentFigure的属性值,即当前图形窗口的句柄,相当于函数gcf。get(gcf,Children)则返回当前坐标系对象的句柄;类似的操作用户可在使用Matlab的过程中不断积累。 句柄应用 利用句柄操作的有关函数,用户可以查找、访问图形对象,以达到定制对象属性,改变对象显示效果的目的。 x=-pi:pi/20:pi; y=sin(x);z=cos(x); 7 plot(

20、x,y,r,x,z,g); Hl_lines=get(gca,Children); 获取正、余曲线句柄向量Hl_lines for k=1:size(Hl_lines) if get(Hl_lines(k),Color)=0 1 0 0 1 0为绿颜色向量 Hl_green=Hl_lines(k) 返回绿色线条句柄 end end 四、实验习题 1在0 2范围内绘制二维曲线图y=sin(x)*cos(5x)。 解 x=0:pi/100:2*pi; y=sin(x).*cos(5*x); plot(y) 10.80.60.40.20-0.2-0.4-0.6-0.8-1012345672在0 2范

21、围内绘制以Y轴为对数的二维曲线图。 y=|1000sin(4x)|+1 解 x=0:pi/100:2*pi; y=abs(1000*sin(4*x)+1; semilogy(x,y); 8 3. 在6 2范围内用plot和fplot函数分别绘制二维曲线图。 函数为y=3*x2+2*x syms x y; x=-6:0.01:2; y=3.*x.2+2.*x; plot(y) 100806040200-200100200300400500600700800900 9 syms x y; x=-6:0.01:2; y=3.*x.2+2.*x; fplot(3.*x.2+2.*x,-6 2) 100

22、806040200-20-6-5-4-3-2-10124绘制z=sin(x)*cos(y)的三维网格和三维曲面图,x,y变化范围均为 0 2 syms x y; x=0:pi/100:2*pi; y=0:pi/100:2*pi; z=sin(x)*cos(y); mesh(x,y,z); 。 10 syms x y; x=0:pi/100:2*pi; y=0:pi/100:2*pi; z=sin(x)*cos(y); surf(x,y,z) 五、实验总结 请根据本次实验的内容写出实验总结,总结一下Matlab的数据可视化的特点及其基本操作。 实验总结 MATLAB自产生之日起就具有方便的数据可

23、视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能方面更加完善,而且对于一些其他软件所没有的功能,MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。 MATLAB基本绘图函数 plot: x轴和y轴均为线性刻度 loglog: x轴和y轴均为对数刻度 semilogx: x轴为对数刻度,y轴为线性刻度 semilogy: x轴为线性刻度,y轴为对数刻度 11 12

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!