matlab基础应用03-二维平面绘.ppt

上传人:sh****n 文档编号:2819762 上传时间:2019-11-30 格式:PPT 页数:63 大小:360KB
返回 下载 相关 举报
matlab基础应用03-二维平面绘.ppt_第1页
第1页 / 共63页
matlab基础应用03-二维平面绘.ppt_第2页
第2页 / 共63页
matlab基础应用03-二维平面绘.ppt_第3页
第3页 / 共63页
点击查看更多>>
资源描述
MATLAB 程序设计入门篇 二维平面绘图,2007,7,CUMCM 暑期培训,3-1 基本的绘图指令,Plot : 最基本的绘图指令 对 x 坐标及相对应的 y 坐标进行作图 范例3-1:plotxy01.m,x = linspace(0, 2*pi,100); % 在 0 到 2 间,等分取 100 个点 y = sin(x); % 计算 x 的正弦函数值 plot(x, y); % 进行二维平面描点作图,Plot基本绘图-1,linspace(0, 2*pi) 产生从 0 到 2 且长度为 100 (预设值)的向量 x y 是对应的 y 坐标 只给定一个向量 该向量则对其索引值(Index)作图 plot(y)和plot(1:length(y), y)会得到相同的结果,Plot基本绘图-2 (I),一次画出多条曲线 将 x 及 y 坐标依次送入plot 指令 范例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); % 进行多条曲线描点作图,Plot基本绘图-2 (II),Plot(x,sin(x), x, cos(x), x, sin(x)+cos(x);,画出多条曲线时,会自动轮换曲线颜色,Plot基本绘图-3 (I),若要以不同的线标(Marker)来作图 范例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), *);,Plot基本绘图-3 (II),Plot基本绘图-4 (I),只给定一个矩阵 y 对矩阵 y 的每一个列向量(Column Vector)作图 范例3-4:plot04.m,y = peaks; % 产生一个 4949 的矩阵 plot(y); % 对矩阵 y 的每一个行向量作图,Plot基本绘图-4 (II),peaks 指令产生一个4949的矩阵,代表二维函数的值 plot(y) 直接画出 49 条直线 类似于从侧面观看 peaks 函数,Plot基本绘图-5 (I),x 和 y 都是矩阵 plot(x, y) 会取用 y 的每一个列向量和对应的 x 列向量作图 范例3-5:plotxy05.m,x = peaks; y = x; % 求矩阵 x 的转置矩阵 x plot(x, y); % 取用矩阵 y 的每一行向量,与对应矩阵 x % 的每一个行向量作图,Plot基本绘图-5 (II),提示,一般情况下,MATLAB 将矩阵视为列向量的集合 对只能处理向量的函数(Ex : max、min、 mean) 给定一个矩阵,函数会对矩阵的列向量一一进行处理或运算,Plot基本绘图-6 (I),z 是一个复数向量或矩阵 plot(z) 将 z 的实部(即 real(z)和虚部(即 imag(z)当成 x 坐标和 y 坐标来作图, 其效果等于 plot(real(z), imag(z) 范例3-6:plotxy06.m,x = randn(30); % 产生 3030 的随机数(正态分布)矩阵 z = eig(x); % 计算 x 的特征值 plot(z, o) grid on % 画出网格线,Plot基本绘图-6 (II),x 是一个 3030 的随机数矩阵 z 则是 x 的特征值(Eigenvalue) z 是复数向量,且每一个复数都和其共轭复数同时出现,因此画出的图是上下对称,基本二维绘图指令,Plot基本绘图-7 (I),Semilogx指令 使 x 轴为对数刻度,对正弦函数作图 范例plotxy07.m,x = linspace(0, 8*pi); % 在 0 到 8 间,等分取 100 个点 semilogx(x, sin(x); % 使 x 轴为对数刻度,并对其正弦函数作图,Plot基本绘图-7 (II),X轴为对数刻度,Plot基本绘图-8 (I),plotyy 指令 画出两个刻度不同的 y 轴 范例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,Plot基本绘图-8 (II),y1 的刻度是在左手边 y2 的刻度是在右手边 两边的刻度不同,Y1的刻度,Y2的刻度,3-2 图形的控制,plot 指令,可以接受一个控制字符串输入 用以控制曲线的颜色、格式及线标 使用语法 plot(x, y,CLM) C:曲线的颜色(Colors) L:曲线的格式(Line Styles) M:曲线所用的线标(Markers),图形控制范例-1 (I),用黑色点线画出正弦波 每一数据点画上一个小菱形 范例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 则指定菱形为曲 % 线的线标,图形控制范例-1 (II),plot 指令的曲线颜色,plot 指令的曲线格式,plot 指令的曲线线标 (I),plot 指令的曲线线标 (II),3-3 图轴的控制,plot 指令会根据坐标点自动决定图轴范围 也可以使用 axis 指令指定图轴范围 使用语法: axis(xmin, xmax, ymin, ymax) xmin , xmax:指定 x 轴的最小和最大值 ymin , ymax:指定 y 轴的最小和最大值,图轴控制范例-1 (I),画出正弦波在 y 轴介于 0 和 1 的部份 范例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 的部份,图轴控制范例-1 (II),inf指令: 以数据点(上例: x 轴的数据点)的最小和最大值取代之,图轴控制范例-2 (I),指定图轴上的网格线点(Ticks) 范例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 % 加上网格线,图轴控制范例-2 (II),grid on:加上网格线 gca: get current axis的简称 传回目前使用中的图轴 gca属Handle Graphics的指令,第七章会有更详细的说明,使用者加入的网格线点和文字,图轴控制范例-3 (I),将网格线点的数字改为文字 范例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 % 加上网格线,图轴控制范例-3 (II),Subplot,subplot 在一个窗口产生多个图形(图轴) 一般形式为subplot(m, n, p) 将窗口分为 m n 个区域 下一个 plot 指令绘图于第 p 个区域 p 的算法为由左至右,一列一列,图轴控制范例-4 (I),同时画出四个图于一个窗口中 范例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); % 此为右下角图形,图轴控制范例-4 (II),Subplot(2,2,1),Subplot(2,2,3),Subplot(2,2,2),Subplot(2,2,4),图轴控制范例-5 (I),长宽比(Aspect Ratio) 一般图轴长宽比是窗口的长宽比 可在 axis 指令后加不同的字符串来修改 范例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,图轴控制范例-5 (II),axis normal,axis equal,axis square,axis square tight,改变图轴长宽比的指令,改变目前图轴长宽比的指令 需在 plot 指令之后运行才能发挥效用,改变图轴背景颜色的指令,colordef 改变图轴与窗口之背景颜色 先运行 colordef 指令,其后 plot 指令产生的图形才有效用,grid 和 box 指令,画出网格线或画出图轴外围的方形,3-4 加入说明文字,在图形或图轴加入说明文字,增进整体图形的可读性,说明文字范例-1 (I),范例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);,说明文字范例-1 (II),legend 指令 画出一小方块,包含每条曲线的说明 为特殊符号 产生上标、下标、希腊字母、数学符号等 遵循一般 LaTex 或 TeX数学模式,说明文字范例-2 (I),text指令 使用语法: text(x, y, string) x、y :文字的起始坐标位置 string :代表此文字 范例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);,说明文字范例-2 (II),HorizontalAlignment及right指示 text 指令将文字向右水平靠齐,gtext指令,使用语法 gtext(string) 在图上点选一位置后,string 显示在其上。 gtext 只能用在二维平面绘图,3-5 其它平面绘图指令,各种二维绘图指令,其它平面绘图范例-1 (I),已知数据的误差范围,用 errorbar 表示 以 y 坐标高度 20% 作为做数据的误差范围 范例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,其它平面绘图范例-1 (II),误差范围,其它平面绘图范例-2 (I),fplot 指令 对剧烈变化处进行较密集的取样 范例3-18:plotxy18.m,fplot(sin(1/x), 0.02 0.2); % 0.02 0.2是绘图范围,其它平面绘图范例-2 (II),此区作较精确的取点绘图,其它平面绘图范例-3 (I),polar 指令 产生极坐标图形 范例3-19:plotxy19.m,theta = linspace(0, 2*pi); r = cos(4*theta); polar(theta, r); % 进行极坐标绘图,其它平面绘图范例-3 (II),直方图及hist指令,直方图(Histogram) 对大量的数据,显示数据的分布情况和统计特性 hist指令 将数据依大小分成数块,将每块的个数画出,其它平面绘图范例-4 (I),将 10000 个由 randn 产生的正态分布之随机数分成 25 块 范例3-20:plotxy20.m,x = randn(10000, 1); % 产生 10000 个正态分布随机数 hist(x, 25); % 绘出直方图,显示 x 数据的分布情 %况和统计特性,数字 25 代表数据依 %大小分块的块数,即是指方图内长条 %的个数 set(findobj(gca, type, patch), edgecolor, w); % 将长条 %图的边缘设定成白色,其它平面绘图范例-4 (II),直方图逼近随机数的概率分布函数,且数据量越大时,逼近程度越高,其它平面绘图范例-5 (I),rose指令 角度:数据大小 距离:数据个数 以极坐标绘制表示 范例3-21:plotxy21.m,x = randn(5000, 1); % 产生 5000 个正态分布的随机数 rose(x); % x 数据大小为角度,x 数据个数为距离, %以绘制类似玫瑰花瓣的极坐标直方图,其它平面绘图范例-5 (II),其它平面绘图范例-6 (I),compass 指令 画出以原点为起始点的向量图 称为罗盘图 范例3-22:plotxy22.m,theta = linspace(0, 2*pi, 50); rho = sin(0.5*theta); x, y = pol2cart(theta, rho); % 由极坐标转换至直角坐标 compass(x, y); % 画出以原点为向量起始点 % 的罗盘图,其它平面绘图范例-6 (II),范例3-23:plotxy23.m,若只有一个自变量输入z 将 z 的实部做为 x 坐标,将 z 的虚部做为 y 坐标,再进行作图 compass(z) 即等效于 compass(real(z),imag(z) 上述四列程序码可简化,theta = linspace(0, 2*pi, 50); compass(sin(0.5*theta).*exp(j*theta);,其它平面绘图范例-7 (I),羽毛图 起始点是 (k, 0),k = 1n ,其中 n 是向量个数 范例3-24:plotxy24.m,theta = linspace(0.2*pi,50); rho = 10; x, y = pol2cart(theta,rho); % 由极坐标转换至直角坐标 feather(x, y); % 绘制羽毛图,其它平面绘图范例-8 (I),
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


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

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


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