收藏 分销(赏)

007.二维绘图(直角坐标).doc

上传人:a199****6536 文档编号:2129547 上传时间:2024-05-17 格式:DOC 页数:14 大小:94.79KB 下载积分:8 金币
下载 相关 举报
007.二维绘图(直角坐标).doc_第1页
第1页 / 共14页
007.二维绘图(直角坐标).doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
007. 二维绘图(直角坐标) 前言: Matlab具有强大的绘图功能,提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形。 此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字说明等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。 —————————————————————— 二维绘图可以采用不同的坐标系,如直角坐标、极坐标、对数坐标等。 一.绘制二维曲线的基本函数 1. 基本绘图函数——plot() 用于绘制二维平面上的直角坐标图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。 plot(x,y)——x,y为长度相同的向量,存储x坐标和y坐标 例1 在区间,绘制一般曲线 x=0:pi/100:2*pi; y=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y) 运行结果: 注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。 例2 绘制参数方程曲线——星形线: x = a cos3 t ; y = a sin3 t t = 0:0.01:2*pi; x = a.*(cos(t)).^3; y = a.*(sin(t)).^3; plot(x,y); 运行结果: 例3 绘制参数方程曲线——摆线: x = a(t – sin t) ; y = a(1 – cos t) t = 0:0.01:2*pi; x = a.*(t - sin(t)); y = a.*(1 - cos(t)); plot(x,y); 运行结果: 2.同一坐标图中画多条函数曲线 调用格式为:plot(x1, y1, x2, y2, …, xn, yn) 例4 同一坐标图中画出,,三条曲线。 x =0:pi/50:2*pi; plot(x,sin(x),x,2*sin(x),x,3*sin(x)) 运行结果: 注:利用plot函数可以直接将矩阵的数据绘制图形(矩阵的每一列数据作为一条曲线),例 例5 绘制数据矩阵表示的图形 A=pascal(5) plot(A) 运行结果:A = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 1 4 10 20 35 1 5 15 35 70 3.图形选项设置线型、颜色和数据点标记符号等 线型:- 实线 : 虚线 -. 点划线 -- 双划线 颜色:b蓝色 g绿色 r红色 c青色 m品红 y黄色 k黑色 w白色 标记符号: . 点 o 圆圈 × 叉号 + 加号 * 星号 s 方块 d 菱形 p 五角星 h 六角星 ∨ 朝下三角符号 ∧ 朝上三角符号 < 朝左三角符号 > 朝右三角符号 例6 用不同的线型和颜色在同一坐标图内绘制曲线及其上下包络线: 【用黑色虚线画出两条包络线,用蓝色双划线画出曲线y,用红色五角星离散标出数据点】 x=(0:pi/100:2*pi)'; y1=2*exp(-0.5*x)*[1,-1]; y2=2*exp(-0.5*x).*sin(2*pi*x); x1=(0:12)/2; y3=2*exp(-0.5*x1).*sin(2*pi*x1); plot(x,y1,'k:',x,y2,'b--',x1,y3,'rp'); 运行结果: 4.绘制出具有不同纵坐标标刻度的两个图形——plotyy() 两个函数绘制在同一个坐标中(横坐标的标度相同,纵坐标有两个——不同量纲不同数量级),有利于图形数据的对比分析。 plotyy(x1,y1,x2,y2) 例7 绘制两个纵坐标图形 x1=0:pi/100:2*pi; x2=0:pi/100:3*pi; y1=exp(-0.5*x1).*sin(2*pi*x1); y2=1.5*exp(-0.1*x2).*sin(x2); plotyy(x1,y1,x2,y2); 运行结果: 二.绘制图形的辅助操作 1. 图形标注 在绘制图形时,可以对图形加上一些说明,如图形的名称、坐标轴说明以及图形某一部分的含义等,这些操作称为添加图形标注。有关图形标注函数的调用格式为: title(’图形名称’) xlabel(’x轴说明’) ylabel(’y轴说明’) text(x, y, ’图形说明’) % 在坐标点(x, y)的位置添加“图形说明” legend(’图例1’, ’图例2’, …) 注:(1)legend函数用于对绘制曲线所用线型、颜色或数据点标记作图例说明(放置在空白处),用户还可以通过鼠标移动图例,将其放到所希望的位置。 (2)除legend函数外,其他函数同样适用于三维图形,在三维中z坐标轴说明用zlabel函数。 (3)上述函数中的说明文字,除了使用标准的ASCII字符外,还可以使用LaTex格式的控制字符,这样就可以在图形上添加希腊字符,数学符号和公式等内容,受LaTex字符串控制部分要加大括号{ }括起来。 2.坐标控制 在绘制图形时,Matlab可以自动根据要绘制曲线数据的范围选择合适的坐标刻度,使得曲线能够尽可能清晰的显示出来。 但是,如果用户对坐标不满意,可以利用axis函数对其重新设定: axis([xmin xmax ymin ymax]) 注:绘制出三维图形,需要再加两个参数zmin,zmax axis函数其他用法: axis equal :纵横坐标轴采用等长刻度 axis square:产生正方形坐标系(默认为矩形) axis auto:使用默认设置 axis off:取消坐标轴 axis on :显示坐标轴 此外,给坐标加网格线可以用grid命令来控制,grid on/off命令控制画还是不画网格线,不带参数的grid命令在两种之间进行切换。 给坐标加边框用box命令控制(用法同grid) 例8 绘制分段函数,并做适当图形标注 x=0:0.1:10; y=[]; for x0=x if x0>=8 y=[y,1]; %y=1 elseif x0>=6 y=[y,5-x0/2]; %y=5-x/2 elseif x0>=4 y=[y,2]; %y=2 elseif x0>=0 y=[y,sqrt(x0)]; %y=sqrt(x) end end plot(x,y) axis([0 10 0 2.5]) title('分段函数曲线'); xlabel('Variable x'); ylabel('Variable y'); text(2,1.3,'y=x^{1/2}'); text(4.5,1.9,'y=2'); text(7.3,1.5,'y=5-x/2'); text(8.5,0.9,'y=1'); 运行结果: 3.图形保持(常用于同一坐标图下同时绘制多条函数曲线) Matlab默认每执行一次绘图命令,就刷新一次当前图形窗口,图形窗口原有图形将不复存在,如果希望在已经存在的图形上再继续添加新的图形,可以使用图形保持命令hold. hold on/off 命令是保持原有图形还是刷新原有图形,不带参数的hold命令在两者之间进行切换。 4.图形窗口分割(子图)——subplot() Matlab提供了subplot函数用来将当前窗口分割成若干个绘图区,每个区域代表一个独立的子图(使用独立的坐标系),可以通过subplot函数激活某一区为活动区,其绘图命令都是作用于该活动区域。调用格式:subplot(m, n, p) 该函数把当前窗口分成m×n个绘图区(m行, n列),按行优先编号。其中第p个区为当前活动区。每一个绘图区允许以不同的坐标系单独绘制图形。 例9 绘制2×2子图 x=0:pi/30:2*pi; y=sin(x); z=cos(x); t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1); plot(x,y) title('sin(x)'); axis([0,2*pi,-1,1]); subplot(2,2,2); plot(x,z) title('cos(x)'); axis([0 2*pi -1 1]); subplot(2,2,3); plot(x,t) title('tg(x)'); axis([0 2*pi -40 40]); subplot(2,2,4); plot(x,ct) title('ctg(x)'); axis([0 2*pi -40 40]); 运行结果:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服