MATLAB语言及其应用课件CH04MATLAB语言.ppt





《MATLAB语言及其应用课件CH04MATLAB语言.ppt》由会员分享,可在线阅读,更多相关《MATLAB语言及其应用课件CH04MATLAB语言.ppt(112页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 matlab 绘图matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。matlab语言的绘图功能 不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。matlab语言不仅具有高层绘图能力,而且还具有底层绘图能力句柄绘图方法。在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用图形。4.1 二维图形的绘制4.1.1绘制二维曲线的最基本函数plot 最基本的二维图形指令plot的功能:plot命令自动打开一个图形窗口Figure 用直线连接相邻两数据点来绘制图形根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自
2、动加到两个坐标轴上,可自定坐标轴,可把x,y 轴用对数坐标表示如果已经存在一个图形窗口,plot命令则清除当前图形,绘制新图形可单窗口单曲线绘图;可单窗口多曲线绘图;可单窗口多曲线分图绘图;可多窗口绘图可任意设定曲线颜色和线型可给图形加坐标网线和图形加注功能plot的调用格式 plot(x)缺省自变量绘图格式,x为向量,以x元素值为纵坐标,以相应元素下标为横坐标绘图 plot(x,y)基本格式,其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。以y(x)的函数关系作出直角坐标图,如果y为nm的矩阵,则以x 为自变量,作出m条曲线 例:在0X2区间内,绘制曲线y=2e-0.5xsin(
3、2x)。程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y)说明:(1)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(2)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。(3)plot函数最简单的调用格式是只包含一个输入参数:plot(x)。例:某工厂2000年各月总产值(单位:万元)分别为22、60、88、95、56、23、9、10、14、81、56、23,试绘制折线图以显示出该厂总产值的变化情况。程
4、序如下:p=22,60,88,95,56,23,9,10,14,81,56,23;plot(p)plot(x1,y1,x2,y2)多条曲线绘图格式plot(x,y,s)开关格式,开关量字符串s设定曲线颜色和绘图方式,使用颜色字符串的前13个字母,如 yellowyel表示等。或plot(x1,y1,s1,x2,y2,s2,)例:用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2x)及其包络线。程序如下: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
5、(-0.5*x1).*sin(2*pi*x1);plot(x,y1,g:,x,y2,b-,x1,y3,rp);双纵坐标函数plotyy plotyy函数是MATLAB 5.X新增的函数。它能把函数值具有不同量纲、不同数量级的两个函数绘制在同一坐标中。调用格式为:plotyy(x1,y1,x2,y2)其中x1y1对应一条曲线,x2y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1y1数据对,右纵坐标用于x2y2数据对。例:用不同标度在同一坐标内绘制曲线y1=e-0.5xsin(2x)及曲线y2=1.5e-0.1xsin(x)。程序如下:x1=0:pi/100:2*pi;x2=0
6、: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);S的标准设定值如下:字母 颜色 标点 线型 y 黄色 点线 m 粉红 圈线 c 亮蓝 线 r 大红 字线 g 绿色 实线 b 蓝色 星形线 w 白色 :虚线 k 黑色 (-)点划线matlab6.1线形:+|o|*|.|x|square|diamond|v|pentagram|hexagram square 正方形 diamond 菱形 pentagram 五角星 hexagram 六角星 4.1.2 绘制图形的
7、辅助操作 1.图形标注 有关图形标注函数的调用格式为:title(图形名称)xlabel(x轴说明)ylabel(y轴说明)text(x,y,图形说明)legend(图例1,图例2,)例:给图形添加图形标注。程序如下: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,g:,x,y2,b-,x1,y3,rp);title(曲线及其包络线);%加图形标题 xlabel(independent varia
8、ble X);%加X轴说明 ylabel(independent variable Y);%加Y轴说明 text(2.8,0.5,包络线);%在指定位置添加图形说明 text(0.5,0.5,曲线y);text(1.4,0.1,离散数据点);legend(包络线,包络线,曲线y,离散数据点)%加图例 2.坐标控制函数的调用格式为:axis(xmin xmax ymin ymax zmin zmax)axis函数功能丰富,常用的用法还有:axis equal 纵、横坐标轴采用等长刻度axis square 产生正方形坐标系(缺省为矩形)axis auto 使用缺省设置axis off 取消坐标轴
9、axis on 显示坐标轴grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。例:用图形保持功能在同一坐标内绘制曲线y=2e-0.5xsin(2x)及其包络线,并加网格线。(ex2801.m)程序如下:x=(0:pi/100:2*pi);y1=2*exp(-0.5*x)*1,-1;y2=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y1,b:);axis(0,2*pi,-2,2);%设置坐标 hold on;%设置图形保持状态 plot(
10、x,y2,k);grid on;%加网格线 box off;%不加坐标边框 hold off;%关闭图形保持 3.图形窗口的分割 subplot函数的调用格式为:subplot(m,n,p)例:在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。(ex2802.m)程序如下:x=linspace(0,2*pi,60);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)
11、;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);axis(0,2*pi,-40,40);对图形窗口灵活分割。请看下面的程序(ex2803.m)。x=linspace(0,2*pi,60);y=sin(x);z=cos(x);t=sin(x)./(cos(x)+eps);ct=cos(x)./(sin(x)+eps);subplot(2,2,1);%
12、选择22个区中的1号区 stairs(x,y);title(sin(x)-1);axis(0,2*pi,-1,1);subplot(2,1,2);%选择21个区中的2号区 stem(x,y);title(sin(x)-2);axis(0,2*pi,-1,1);subplot(4,4,3);%选择44个区中的3号区 plot(x,y);title(sin(x);axis(0,2*pi,-1,1);subplot(4,4,4);%选择44个区中的4号区 plot(x,z);title(cos(x);axis(0,2*pi,-1,1);subplot(4,4,7);%选择44个区中的7号区 plot
13、(x,t);title(tangent(x);axis(0,2*pi,-40,40);subplot(4,4,8);%选择44个区中的8号区 plot(x,ct);title(cotangent(x);axis(0,2*pi,-40,40);4.1.3 绘制二维图形的其他函数1.其他形式的线性直角坐标图在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:bar(x,y,选项)stairs(x,y,选项)stem(x,y,选项)fill(x1,y1,选项1,x2,y2,选项2,)例:绘制直方图 t=0:0.2:2*pi;y=cos(t);bar(y)例:绘制阶
14、梯曲线x=0:pi/20:2*pi;y=sin(x);stairs(x,y)例:阶梯绘图h2=1 1;1-1;h4=h2 h2;h2-h2;h8=h4 h4;h4-h4;t=1:8;subplot(8,1,1);stairs(t,h8(1,:);axis(off)subplot(8,1,2);stairs(t,h8(2,:);axis(off)subplot(8,1,3);stairs(t,h8(3,:);axis(off)subplot(8,1,4);stairs(t,h8(4,:);axis(off)subplot(8,1,5);stairs(t,h8(5,:);axis(off)subp
15、lot(8,1,6);stairs(t,h8(6,:);axis(off)subplot(8,1,7);stairs(t,h8(7,:);axis(off)subplot(8,1,8);stairs(t,h8(8,:);axis(off)h2=1 1;1-1;h4=h2 h2;h2-h2;h8=h4 h4;h4-h4;t=1:8;for i=1:8subplot(8,1,i);stairs(t,h8(i,:)axis(off)end 例:绘制火柴杆绘图 t=0:0.2:2*pi;y=cos(t);stem(y)fill 基本二维绘图函数 fill的功能:绘制二维多边形并填充颜色例:x=1 2
16、3 4 5;y=4 1 5 1 4;fill(x,y,r)例:分别以条形图、填充图、阶梯图和杆图形式绘制曲线y=2e-0.5x。(ex2804.m)程序如下:x=0:0.35:7;y=2*exp(-0.5*x);subplot(2,2,1);bar(x,y,g);title(bar(x,y,g);axis(0,7,0,2);subplot(2,2,2);fill(x,y,r);title(fill(x,y,r);axis(0,7,0,2);subplot(2,2,3);stairs(x,y,b);title(stairs(x,y,b);axis(0,7,0,2);subplot(2,2,4);
17、stem(x,y,k);title(stem(x,y,k);axis(0,7,0,2);2极坐标图polar函数用来绘制极坐标图,其调用格式为:polar(theta,rho,选项)其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。例:绘制=sin(2)cos(2)的极坐标图。(ex2805.m)程序如下:theta=0:0.01:2*pi;rho=sin(2*theta).*cos(2*theta);polar(theta,rho,k);例:绘制极坐标绘图t=0:2*pi/90:2*pi;y=cos(4*t);polar(t,y)3对数坐标图形 MATLAB提供了
18、绘制对数和半对数坐标曲线的函数,调用格式为:semilogx(x1,y1,选项1,x2,y2,选项2,)semilogy(x1,y1,选项1,x2,y2,选项2,)loglog(x1,y1,选项1,x2,y2,选项2,)例:绘制y=10 x2的对数坐标图并与直角线性坐标图进行比较。(ex2806.m)程序如下:x=0:0.1:10;y=10*x.*x;subplot(2,2,1);plot(x,y);title(plot(x,y);grid on;subplot(2,2,2);semilogx(x,y);title(semilogx(x,y);grid on;subplot(2,2,3);se
19、milogy(x,y);title(semilogy(x,y);grid on;subplot(2,2,4);loglog(x,y);title(loglog(x,y);grid on;4.对函数自适应采样的绘图函数fplot函数的调用格式为:fplot(fname,lims,tol,选项)fplot(fname,lims)绘制函数fname在x区间 lims=xmin xmax的函数图。fplot(fname,lims,corline)以指定线形绘图x,y=fplot(fname,lims)只返回绘图点的值,而不绘图,用plot(x,y)来绘图。fplot(sin(x),tan(x),cos
20、(x),2*pi*-1 1-1 1)fplot(humps,0 1,rp)例:用fplot函数绘制f(x)=cos(tan(x)的曲线。先建立函数文件myf.m:function y=myf(x)y=cos(tan(pi*x);再用fplot函数绘制myf.m函数的曲线(ex2807.m):fplot(myf,-0.4,1.4,1e-4)ezplot的调用格式:ezplot(f)这里f为包含单个符号变量x的符号表达式,在x轴的默认范围 -2*pi 2*pi内绘制f(x)的函数图ezplot(f,xmin,xmax)给定区间ezplot(f,xmin,xmax,figure(n)指定绘图窗口绘图
21、。ezplot(sin(x)ezplot(sin(x),cos(y),-4*pi 4*pi,figure(2)5.其他形式的图形MATLAB提供的绘图函数还有很多,例如,用来表示各元素占总和的百分比的饼图、复数的相量图等等。hist 绘制统计直方图rose 绘制统计扇形图 comet 绘制彗星曲线errorbar 绘制误差棒图 compass 复数向量图(罗盘图)feather 复数向量投影图(羽毛图)quiver 向量场图 area 区域图 pie 饼图 convhull 凸壳图 scatter 离散点图 例:绘制彗星曲线图 t=-pi:pi/500:pi;y=tan(sin(t)-sin(
22、tan(t);comet(t,y)x=1 2 3 4 5 6 7;y=0 0 0 1 0 0 0;pie(x,y)pie(x,y,North,South,East,West,middle,fa,white)load seamountscatter(x,y,50,z)a=rand(200,1);b=rand(200,1);c=rand(200,1);scatter(a,b,100,c,p)例 绘制图形:(1)某次考试优秀、良好、中等、及格、不及格的人数分别为:7,17,23,19,5,试用饼图作成绩统计分析。(2)绘制复数的相量图:3+2i、4.5-i和-1.5+5i。(ex2808.m)程序如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 语言 及其 应用 课件 CH04MATLAB

限制150内