已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB 程序设计入门篇 二维平面绘图 2007,7 CUMCM 暑期培训 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 3-1 基本的绘图指令 nPlot : 最基本的绘图指令 n对 x 坐标及相对应的 y 坐标进行作图 n范例3-1:plotxy01.m x = linspace(0, 2*pi,100); % 在 0 到 2 间,等分取 100 个点 y = sin(x);% 计算 x 的正弦函数值 plot(x, y);% 进行二维平面描点作图 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Plot基本绘图-1 nlinspace(0, 2*pi) 产生从 0 到 2 且长度为 100 ( 预设值)的向量 x ny 是对应的 y 坐标 n只给定一个向量 n该向量则对其索引值 (Index)作图 nplot(y)和plot(1:length(y), y)会得到相同的结果 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Plot基本绘图-2 (I) n一次画出多条曲线 n将 x 及 y 坐标依次送入plot 指令 n范例3-2:plotxy02.m x = linspace(0, 2*pi,100); % 在 0 到 2 间,等分取 100 个点,100为系统的默认值 plot(x, sin(x), x, cos(x), x, sin(x)+cos(x); % 进行多条曲线描点作图 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Plot基本绘图-2 (II) Plot(x,sin(x), x, cos(x), x, sin(x)+cos(x); 画出多条曲 线时,会自动 轮换曲线颜色 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Plot基本绘图-3 (I) n若要以不同的线标(Marker)来作图 n范例3-3:plotxy03.m x = linspace(0, 2*pi);% 在 0 到 2 间,等分取 100 个点 plot(x, sin(x), o, x, cos(x), x, x, sin(x)+cos(x), *); MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Plot基本绘图-3 (II) MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Plot基本绘图-4 (I) n只给定一个矩阵 y n对矩阵 y 的每一个列向量(Column Vector) 作图 n范例3-4:plot04.m y = peaks;% 产生一个 4949 的矩阵 plot(y);% 对矩阵 y 的每一个行向量作图 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Plot基本绘图-4 (II) npeaks 指令产生一 个4949的矩阵, 代表二维函数的值 nplot(y) 直接画出 49 条直线 n类似于从侧面观看 peaks 函数 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Plot基本绘图-5 (I) nx 和 y 都是矩阵 nplot(x, y) 会取用 y 的每一个列向量和对 应的 x 列向量作图 n范例3-5:plotxy05.m x = peaks; y = x;% 求矩阵 x 的转置矩阵 x plot(x, y);% 取用矩阵 y 的每一行向量,与对应矩阵 x % 的每一个行向量作图 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Plot基本绘图-5 (II) MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 提示 n一般情况下,MATLAB 将矩阵视为列向量的集 合 n对只能处理向量的函数(Ex : max、min、 mean) n给定一个矩阵,函数会对矩阵的列向量一一进行 处理或运算 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Plot基本绘图-6 (I) nz 是一个复数向量或矩阵 nplot(z) 将 z 的实部(即 real(z)和虚部(即 imag(z)当成 x 坐标和 y 坐标来作图, n其效果等于 plot(real(z), imag(z) n范例3-6:plotxy06.m x = randn(30);% 产生 3030 的随机数(正态分布)矩阵 z = eig(x);% 计算 x 的特征值 plot(z, o) grid on% 画出网格线 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Plot基本绘图-6 (II) nx 是一个 3030 的随机数矩阵 nz 则是 x 的特征值(Eigenvalue) nz 是复数向量,且每一个复数都和其共轭复数同时出现,因此 画出的图是上下对称 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 基本二维绘图指令 指令说明 Plotx 轴和 y 轴均为线性刻度(Linear Scale) loglogx 轴和 y 轴均为对数刻度(Logarithmic Scale) semilogxx 轴为对数刻度,y 轴为线性刻度 semilogyx 轴为线性刻度,y 轴为对数刻度 plotyy画出两个刻度不同的y轴 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Plot基本绘图-7 (I) nSemilogx指令 n使 x 轴为对数刻度,对正弦函数作图 n范例plotxy07.m x = linspace(0, 8*pi);% 在 0 到 8 间,等分取 100 个点 semilogx(x, sin(x); % 使 x 轴为对数刻度,并对其正弦函数作图 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Plot基本绘图-7 (II) X轴为对数刻度 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Plot基本绘图-8 (I) nplotyy 指令 n画出两个刻度不同的 y 轴 n范例3-8:plotxy08.m x = linspace(0, 2*pi);% 在 0 到 2 间,等分取 100 个点 y1 = sin(x); y2 = exp(-x); plotyy(x, y1, x, y2); % 画出两个刻度不同的 y 轴,分别是 y1, y2 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Plot基本绘图-8 (II) ny1 的刻度是在左手边 ny2 的刻度是在右手边 n两边的刻度不同 Y1的刻度 Y2的刻度 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 3-2 图形的控制 nplot 指令,可以接受一个控制字符串输入 n用以控制曲线的颜色、格式及线标 n使用语法 plot(x, y,CLM) nC:曲线的颜色(Colors) nL:曲线的格式(Line Styles) nM:曲线所用的线标(Markers) MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 图形控制范例-1 (I) n用黑色点线画出正弦波 n每一数据点画上一个小菱形 n范例3-9:plotxy09.m x = 0:0.5:4*pi;% x 向量的起始与结束元素为 0 及 4 , % 0.5为各元素相差值 y = sin(x); plot(x, y,k:diamond)% 其中k代表黑色,:代表点 % 线,而diamond 则指定菱形为曲 % 线的线标 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 图形控制范例-1 (II) MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 plot 指令的曲线颜色 Plot指令的曲线颜色字符 串 曲线颜色RGB值 b蓝色(Blue)(0,0,1) c青蓝色(Cyan)(0,1,1) g绿色(Green)(0,1,0) k黑色(Black)(0,0,0) m紫黑色(Magenta)(1,0,1) r红色(Red)(1,0,0) w白色(1,1,1) y黄色(Yellow)(1,1,0) MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 plot 指令的曲线格式 plot 指令的曲线格式字符串曲线格式 -实线(预设值) -虚线 :点线 -.点虚线 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 plot 指令的曲线线标 (I) plot 指令的曲线线标字符串曲线符号符号 O圆形 +加号 X叉号 *星号 .点号 朝上三角形 V朝下三角形 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 plot 指令的曲线线标 (II) plot 指令的曲线线标字符串曲线符号符号 朝右三角形 朝左三角形 square方形 diamond菱形 pentagram五角星形 hexagram六角星形 None无符号(预设值) MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 3-3 图轴的控制 nplot 指令会根据坐标点自动决定图轴范围 n也可以使用 axis 指令指定图轴范围 n使用语法: axis(xmin, xmax, ymin, ymax) nxmin , xmax:指定 x 轴的最小和最大值 nymin , ymax:指定 y 轴的最小和最大值 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 图轴控制范例-1 (I) n画出正弦波在 y 轴介于 0 和 1 的部份 n范例3-10:plotxy10.m x = 0:0.1:4*pi;% 起始与结束元素为 0 及 4,0.1 为间隔步长 y = sin(x); plot(x, y); axis(-inf, inf, 0, 1);% 画出正弦波 y 轴介于 0 和 1 的部份 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 图轴控制范例-1 (II) ninf指令: n以数据点(上例: x 轴的数据点)的最小和最大值取代之 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 图轴控制范例-2 (I) n指定图轴上的网格线点(Ticks) n范例3-11:plotxy11.m x = 0:0.1:4*pi; plot(x, sin(x)+sin(3*x) set(gca, ytick, -1 -0.3 0.1 1);% 在 y 轴加上网格线点 grid on% 加上网格线 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 图轴控制范例-2 (II) ngrid on:加上网格线 ngca: nget current axis的简称 n传回目前使用中的图轴 ngca属Handle Graphics的指令,第七章会有更详细的说明 使用者加入的 网格线点和文 字 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 图轴控制范例-3 (I) n将网格线点的数字改为文字 n范例3-12:plotxy12.m x = 0:0.1:4*pi; plot(x, sin(x)+sin(3*x) set(gca, ytick, -1 -0.3 0.1 1);% 改变网格线点 set(gca, yticklabel, 极小,临界值,崩溃值,极大); % 改变网格线点的文字 grid on% 加上网格线 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 图轴控制范例-3 (II) MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 Subplot nsubplot n在一个窗口产生多个图形(图轴) n一般形式为subplot(m, n, p) n将窗口分为 m n 个区域 n下一个 plot 指令绘图于第 p 个区域 np 的算法为由左至右,一列一列 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 图轴控制范例-4 (I) n同时画出四个图于一个窗口中 n范例3-13:plotxy13.m x = 0:0.1:4*pi; subplot(2, 2, 1); plot(x, sin(x);% 此为左上角图形 subplot(2, 2, 2); plot(x, cos(x);% 此为右上角图形 subplot(2, 2, 3); plot(x, sin(x).*exp(-x/5);% 此为左下角图形 subplot(2, 2, 4); plot(x, x.2);% 此为右下角图形 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 图轴控制范例-4 (II) Subplot(2,2,1 ) Subplot(2,2,3 ) Subplot(2,2,2 ) Subplot(2,2,4 ) MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 图轴控制范例-5 (I) n长宽比(Aspect Ratio) n一般图轴长宽比是窗口的长宽比 n可在 axis 指令后加不同的字符串来修改 n范例3-14:plotxy14.m t = 0:0.1:2*pi; x = 3*cos(t); y = sin(t); subplot(2, 2, 1); plot(x, y); axis normal subplot(2, 2, 2); plot(x, y); axis square subplot(2, 2, 3); plot(x, y); axis equal subplot(2, 2, 4); plot(x, y); axis equal tight MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 图轴控制范例-5 (II) axis normal axis equal axis square axis square tight MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 改变图轴长宽比的指令 n改变目前图轴长宽比的指令 n需在 plot 指令之后运行才能发挥效用 指令说明 axis normal使用预设长宽比(等于图形长宽比) axis square长宽比例为 1 axis equal长宽比例不变,但两轴刻度一致 axis equal tight两轴刻度比例一致,且图轴贴紧图形 axis image两轴刻度比例一致(适用于影像显示) MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 改变图轴背景颜色的指令 ncolordef n改变图轴与窗口之背景颜色 n先运行 colordef 指令,其后 plot 指令产生 的图形才有效用 指令说明 colordef white图轴背景为白色,窗口背景为浅灰色 colordef black图轴背景为黑色,窗口背景为暗灰色 colordef none 图轴背景为黑色,窗口背景为黑色(这是 MATLAB 第 4 版的预设值) MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 grid 和 box 指令 n画出网格线或画出图轴外围的方形 指令说明 grid on画出网格线 grid off取消网格线 box on画出图轴的外围长方形 box off取消图轴的外围长方形 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 3-4 加入说明文字 n在图形或图轴加入说明文字,增进整体 图形的可读性 指令说明 title图形的标题 xlabelx 轴的说明 ylabely 轴的说明 zlabelz 轴的说明(适用于立体绘图) legend多条曲线的说明 text在图形中加入文字 gtext使用鼠标决定文字的位置 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 说明文字范例-1 (I) n范例3-15:plotxy15.m subplot(1,1,1); x = 0:0.1:2*pi; y1 = sin(x); y2 = exp(-x); plot(x, y1, -*, x, y2, :o); xlabel(t = 0 to 2pi); ylabel(values of sin(t) and e-x) title(Function Plots of sin(t) and e-x); legend(sin(t),e-x); MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 说明文字范例-1 (II) nlegend 指令 n画出一小方块,包含 每条曲线的说明 n为特殊符号 n产生上标、下标、希 腊字母、数学符号等 n遵循一般 LaTex 或 TeX数学模式 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 说明文字范例-2 (I) ntext指令 n使用语法: text(x, y, string) nx、y :文字的起始坐标位置 nstring :代表此文字 n范例3-16:plotxy16.m x = 0:0.1:2*pi; plot(x, sin(x), x, cos(x); text(pi/4, sin(pi/4),leftarrow sin(pi/4) = 0.707); text(5*pi/4, cos(5*pi/4),cos(5pi/4) = -0.707rightarrow, HorizontalAlignment, right); MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 说明文字范例-2 (II) nHorizontalAlignment 及right指示 text 指令 将文字向右水平靠齐 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 gtext指令 n使用语法 gtext(string) n在图上点选一位置后,string 显示在其上 。 ngtext 只能用在二维平面绘图 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 3-5 其它平面绘图指令 n各种二维绘图指令 指令说明 errorbar在曲线加上误差范围 fplot、ezplot较精确的函数图形 polar、ezpolar极坐标图形 hist直角坐标质方图(累计图) rose极坐标质方图(累计图) compass罗盘图 feather羽毛图 area面积图(第五章特殊图形介绍) stairs阶梯图(第五章特殊图形介绍) MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 其它平面绘图范例-1 (I) n已知数据的误差范围,用 errorbar 表示 n以 y 坐标高度 20% 作为做数据的误差范围 n范例3-17:plotxy17.m x = linspace(0,2*pi,30);% 在 0 到 2间,等分取 30 个点 y = sin(x); e = y*0.2; errorbar(x,y,e)% 图形上加上误差范围 e MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 其它平面绘图范例-1 (II) 误差范围 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 其它平面绘图范例-2 (I) nfplot 指令 n对剧烈变化处进行较密集的取样 n范例3-18:plotxy18.m fplot(sin(1/x), 0.02 0.2);% 0.02 0.2是绘图范围 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 其它平面绘图范例-2 (II) 此区作较精确的取点绘图 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 其它平面绘图范例-3 (I) npolar 指令 n产生极坐标图形 n范例3-19:plotxy19.m theta = linspace(0, 2*pi); r = cos(4*theta); polar(theta, r);% 进行极坐标绘图 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 其它平面绘图范例-3 (II) MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 直方图及hist指令 n直方图(Histogram) n对大量的数据,显示数据的分布情况和统计 特性 nhist指令 n将数据依大小分成数块,将每块的个数画出 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 其它平面绘图范例-4 (I) n将 10000 个由 randn 产生的正态分布之随 机数分成 25 块 n范例3-20:plotxy20.m x = randn(10000, 1);% 产生 10000 个正态分布随机数 hist(x, 25);% 绘出直方图,显示 x 数据的分布情 %况和统计特性,数字 25 代表数据依 %大小分块的块数,即是指方图内长条 %的个数 set(findobj(gca, type, patch), edgecolor, w);% 将长条 %图的边缘设定成白色 MATLAB 程序设计入门篇:二维平面绘图NCU MCM 暑期培训 其它平面绘图范例-4 (II) n直方图逼近随机数的概率分布函数,且数据 量越大时,逼近
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋直更名合同范本
- 房屋翻建扩建协议书
- 房屋装修协议书范本
- 房屋隔断回收协议书
- 房源协议书转让合同
- 房租征收补偿协议书
- 房租还款协议书范本
- 房门锁供应合同范本
- 手写改动就业协议书
- 手袋加工合同协议书
- 2025-2026学年北师大版数学九年级上册期末考试模拟试卷
- 航空航天技术:高性能碳纤维复合材料在航天器结构中的应用
- 员工企业归属感培训课件
- 2025云南大理州建设投资(集团)有限公司招聘专业技术人员19人笔试历年典型考点题库附带答案详解试卷2套
- 2026莱商银行校园招聘笔试考试参考题库附答案解析
- 铸造企业环保培训
- 进修医生岗前培训
- 《车辆工程专业导论》课程教学大纲
- 冬春火灾防控暨消防安全重点风险领域排查整改专项行动工作方案
- 医疗设备采购需求分析报告
- 广州公卫考试试题及答案
评论
0/150
提交评论