《维平面画》PPT课件.ppt

上传人:小飞机 文档编号:4877324 上传时间:2023-05-21 格式:PPT 页数:63 大小:284.50KB
返回 下载 相关 举报
《维平面画》PPT课件.ppt_第1页
第1页 / 共63页
《维平面画》PPT课件.ppt_第2页
第2页 / 共63页
《维平面画》PPT课件.ppt_第3页
第3页 / 共63页
《维平面画》PPT课件.ppt_第4页
第4页 / 共63页
《维平面画》PPT课件.ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《《维平面画》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《维平面画》PPT课件.ppt(63页珍藏版)》请在三一办公上搜索。

1、二维平面画图,王玉皞 博士/副教授南昌大学信息工程学院Email:,3-1 基本的绘图指令,Plot:最基本的绘图指令对 x 坐标及相对应的 y 坐标进行作图范例3-1:plotxy01.m,x=linspace(0,2*pi);%在 0 到 2 间,等分取 100 个点y=sin(x);%计算 x 的正弦函数值plot(x,y);%进行二维平面描点作图,Plot基本绘图-1,linspace(0,2*pi)产生从 0 到 2且长度为 100(默认值)的向量 xy 是对应的 y 坐标只给定一个向量该向量则对其索引值(Index)作图plot(y)和plot(1:length(y),y)会得到相

2、同的结果,Plot基本绘图-2(I),一次画出多条曲线将 x 及 y 坐标依次送入plot 指令范例3-2:plotxy02.m,x=linspace(0,2*pi);%在 0 到 2 间,等分取 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);%在

3、 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 都是矩阵p

4、lot(x,y)会取用 y 的每一个行向量和对应的 x 行向量作图范例3-5:plotxy05.m,x=peaks;y=x;%求矩阵 x 的转置矩阵 xplot(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 坐标来作图,其效果等于

5、 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)

6、;%在 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

7、-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 指令的曲

8、线颜色,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,i

9、nf,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的指令,第七章会有

10、更详细的说明,使用者加入的网格线点和文字,图轴控制范例-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 的算法为由左至右,一

11、列一列,图轴控制范例-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(

12、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 normalsubplot(2,2,2);plot(x,y);axis squaresubplot(2,2,3);plot(x,y);axis equalsubplot(2,2,4);plot(x,y);axis equal tight,图轴控制范例-5(II),axis normal,axis equal,axis squa

13、re,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);x

14、label(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

15、,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),已知资料的误

16、差范围,用 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),p

17、olar 指令产生极坐标图形范例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);%绘出直方图

18、,显示 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 数据个数为距离,%以绘制类似玫瑰花瓣的极坐标直方图,其它平面绘

19、图范例-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),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号