1、5 绘图 matlab文库帮手网 免费帮下载 百度文库积分 资料本文由忆水 2011 贡献ppt 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。MATLAB 课堂 课堂5 MATLAB 高层绘图电子工程学院 指导教师: 指导教师:张卫华电子工程学院2009-10-15Contents1 2 3 4 5二维绘图函数图形控制三维绘图三维绘图控制图像处理与动画制作张卫华 MATLAB 课堂2电子工程学院2009-10-15一、二维绘图函数1. plotplot(x1,y1,参数 1,x2,y2,参数 2)参数选项:参数选项为一个字符串,它决定了维图形的颜色、线
2、 型及数据点的图标。 颜色控制符 字符 颜色 字符 颜色 b m 蓝色(blue) 紫红色(mauve) c g k 青色(cyan) r 红色(red) 白色(white) 黄色(yellow)张卫华 MATLAB 课堂3绿色(green) w 黑色(black) y电子工程学院2009-10-15一、二维绘图函数符号 .控制符 . + o * x s d线形控制符 plot 1. 符号 : 控制符 h p v 线型 实线(默认) 点划线标记符 点 十字符号 圆圈 星号 叉号 正方形 菱形线型 点连线 虚线标记符 六角形 五角形 下三角 上三角 右三角 左三角数据点标记字符square pe
3、ntagram正方形 五角星diamond hexagram菱形 六角星张卫华 MATLAB 课堂4电子工程学院2009-10-15一、二维绘图函数例 1: : 在 0x2 区间内,绘 区间内, 制曲线 y=2e-0.5xcos(4x) 程序如下: 程序如下: x=0:pi/100:2*pi; y=2*exp(0.5*x).*cos(4*pi*x); plot(x,y)1. plot例 2: : 分析下列程序绘制的曲线。 分析下列程序绘制的曲线。 x1=linspace(0,2*pi,100); x2=linspace(0,3*pi,100); x3=linspace(0,4*pi,100);
4、 y1=sin(x1); y2=1+sin(x2); y3=2+sin(x3); x=x1;x2;x3; y=y1;y2;y3; plot(x,y,x1,y1-1)张卫华 MATLAB 课堂5电子工程学院2009-10-15一、二维绘图函数2. plotyy 函数 函数plotyy(x1,y1,x2,y2) 横坐标的标度相同,纵坐标有两个,左纵坐标用 于 x1,y1 数据对,右纵坐标用于 x2,y2 数据对。例:用不同标度在同一坐标内绘制 曲线 y1=0.2e-0.5xcos(4x) 曲线 和 y2=2e-0.5xcos(x)。 。 程序如下: 程序如下: x=0:pi/100:2*pi; y
5、1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=2*exp(-0.5*x).*cos(pi*x); plotyy(x,y1,x,y2);张卫华 MATLAB 课堂6电子工程学院2009-10-15一、二维绘图函数3极坐标图形polar(theta,radius,参数), 相角为 theta,半径为 radius例:绘制 =sin(2t)cos(2t)的极 绘制 =sin(2t)cos(2t)的极 =sin(2t)cos(2t) 坐标图。 坐标图。 程序如下: theta=0:0.01:2*pi; rho=sin(2*theta).*cos(2*theta); polar(
6、theta,rho,k);张卫华 MATLAB 课堂7电子工程学院2009-10-15一、二维绘图函数fplot(fname,lims,tol,选项)4 自适应采样 fplotfname 为函数名,以字符串形式出现,lims 为 x,y 的取值范围,tol 为相对允许误差,其系统默认值为 2e-3。x,y=fplot(fun,lims) 只返回绘图点的值,而不绘图。例 1:用 fplot 函数绘制 用 函数绘制 f(x)=cos(tan(x) 曲线。 曲线。 命令如下: fplot(cos(tan(pi*x), 0,1,1e-4)张卫华 MATLAB 课堂8电子工程学院2009-10-15一、
7、二维绘图函数4 自适应采样 fplot例 2:用 fplot 函数绘制 用 函数绘制 f(x)=cos(tan(x)的曲线。 的曲线。 的曲线先建立函数文件 myf.m: : 先建立函数文件 function y=myf(x) y=cos(tan(pi*x); 再用 fplot 函数绘制 函数绘制myf.m 函数的曲线: 函数的曲线: 再用 函数绘制 函数的曲线 fplot(myf,-0.4,1.4,1e-4)张卫华 MATLAB 课堂9电子工程学院2009-10-15一、二维绘图函数5 ezplot 隐函数根据隐函数的 3 中形式,有 3 中调用格式 (1) 对于函数 f = f(x),ez
8、plot 函数的调用格式为: ezplot(f): 在默认区间-2x2 绘制 f = f(x)的图形。 ezplot(f, a,b):在区间axb 绘制 f = f(x)的图形。 (2) 对于隐函数 f = f(x,y),ezplot 函数的调用格式为: ezplot(f): 在-2x2 和-2y2 绘制 f(x,y) = 0 的图形。 ezplot(f, xmin,xmax,ymin,ymax): 在区间 xminxxmax 和 yminyymax 绘制 f(x,y) = 0 的图形。 ezplot(f, a,b):在区间 axb 和 ay b 绘制 f(x,y) = 0 的图形。 (3)
9、对于参数方程 x = x(t)和 y = y(t),ezplot 函数的调用格式为: ezplot(x,y):在 0t2 绘制x=x(t)和 y=y(t)的图形。 ezplot(x,y, tmin,tmax):在区间tmin t tmax 绘制 x=x(t)和 y=y(t) 的图形。张卫华 MATLAB 课堂10电子工程学院2009-10-15一、二维绘图函数例 1:分析以下程序 ezplot(x2+y2-9);5 ezplot 隐函数ezplot(x3+y3-5*x*y+1/5) ezplot(cos(tan(pi*x),0,1) ezplot(8*cos(t),4*sqrt(2)*sin(
10、t),0,2*pi) ezplot(sin(x) ezplot(sin(x),cos(y),-4*pi 4*pi,figure(2)张卫华 MATLAB 课堂11电子工程学院2009-10-15一、二维绘图函数例 2:分析以下程序5 ezplot 隐函数用 ezplot 函数绘制 f(x)=cos(tan(x)的曲线。 先建立函数文件 myf.m: function y=myf(x) y=cos(tan(pi*x); 再执行 ezplot(myf,0,1)张卫华 MATLAB 课堂12电子工程学院2009-10-15一、二维绘图函数6其他semilogx(x,y,参数 x 轴为自然对数坐标 参
11、数), 轴为自然对数坐标 参数 semilogy(x,y,参数 y 轴为自然对数坐标 参数), 轴为自然对数坐标 参数 Loglog(x,y,参数 , x,y 轴全为自然对数坐标 参数), 参数 轴全为自然对数坐标bar (x,y,选项 选项) 绘制直方图 选项 pie(x,explode) 饼图 fill(x1,y1,选项 ) 填充图 选项 1 选项 stairs(x,y,选项 选项) 绘制阶梯图 选项 stem (x,y,选项 选项) 绘制火柴杆图 选项 rose 绘制统计扇形图 comet 绘制彗星曲线 hist 绘制统计直方图 绘制统计直方图errorbar 绘制误差棒图 compas
12、s 复数向量图(罗盘图 复数向量图 罗盘图) 罗盘图 feather 复数向量投影图 羽毛图 复数向量投影图(羽毛图 羽毛图) quiver 向量场图 area 区域图 convhull 凸壳图 scatter 离散点图张卫华 MATLAB 课堂13电子工程学院2009-10-15一、二维绘图函数6其他semilogx(x,y,参数 x 轴为自然对数坐标 参数), 轴为自然对数坐标 参数 semilogy(x,y,参数 y 轴为自然对数坐标 参数), 轴为自然对数坐标 参数 Loglog(x,y,参数 , x,y 轴全为自然对数坐标 参数), 参数 轴全为自然对数坐标 绘制 y=10x2 的对
13、数坐标图并与直角线性坐标图进行比较。 的对数坐标图并与直角线性坐标图进行比较。 例: 绘制 程序如下: 程序如下: 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);semilogy(x,y);title(semilogy(x,y);grid on; subplot(2,2,4);loglog(x,y);title(loglog(x,y);grid on;
14、张卫华 MATLAB 课堂14电子工程学院2009-10-15一、二维绘图函数6其他fill绘制二维多边形并填充颜色 例:x=1 2 3 4 5;y=4 1 5 1 4;fill(x,y,r)张卫华 MATLAB 课堂15电子工程学院2009-10-15一、二维绘图函数6其他stairs例,绘制阶梯曲线 x=0:pi/20:2*pi;y=sin(x);stairs(x,y)1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 6 716张卫华 MATLAB 课堂电子工程学院2009-10-15一、二维绘图函数6其他stairs例:阶梯绘图
15、 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) subplot(8,1,6);stairs(t,h8(6,:);axis(
16、off) subplot(8,1,7);stairs(t,h8(7,:);axis(off) subplot(8,1,8);stairs(t,h8(8,:);axis(off)张卫华 MATLAB 课堂17电子工程学院2009-10-15一、二维绘图函数6其他stairsh2=1 1;1 -1;h4=h2 h2;h2 -h2; h8=h4 h4;h4 -h4; t=1:8; for i=1:8 subplot(8,1,i); stairs(t,h8(i,:) axis(off) end张卫华 MATLAB 课堂18电子工程学院2009-10-15一、二维绘图函数6其他stem例:绘制火柴杆绘图
17、 t=0:0.2:2*pi; y=cos(t); stem(y)1 0 .8 0 .6 0 .4 0 .2 0 -0 .2 -0 .4 -0 .6 -0 .8 -1 0 5 10 15 20 25 30 3519张卫华 MATLAB 课堂电子工程学院2009-10-15一、二维绘图函数6其他stem例:在一个图形窗口中绘制二维杆状图X=0:0.3:12; Y=exp(-0.3*X).*sin(X)+0.5; stem(X,Y,*r) plotyy(X,Y,X,Y,plot,stem)张卫华 MATLAB 课堂20电子工程学院2009-10-15一、二维绘图函数 例:绘制直方图1 0 .8 0
18、.6 0 .4 0 .2 0 -0 .2 -0 .4 -0 .6 -0 .8 -1 0 5 10 156其他bart=0:0.2:2*pi; y=cos(t); bar(y)2025303521张卫华 MATLAB 课堂电子工程学院2009-10-15一、二维绘图函数6其他comet例:绘制彗星曲线图 t= -pi:pi/500:pi; y=tan(sin(t)-sin(tan(t); comet(t,y)2.5 2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 -2.5 -3 -2 -1 0 1 2 3张卫华 MATLAB 课堂22电子工程学院2009-10-15一、二维绘图函数
19、6 其他 area x=magic(6);area(x)120 100806040200 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 623张卫华 MATLAB 课堂电子工程学院2009-10-15一、二维绘图函数4% 7%6其他piex=1 2 3 4 5 6 7;y=0 0 0 1 0 0 0; pie(x,y)25% 11%14%21%18%张卫华 MATLAB 课堂24电子工程学院2009-10-15一、二维绘图函数6N o rt h S outh其他piepie(x,y,North,South,East,West, middle,fa,white)w h it e E
20、 as tW es tfam id d le张卫华 MATLAB 课堂25电子工程学院2009-10-15一、二维绘图函数6其他scattera=rand(200,1);b=rand(200,1); c=rand(200,1); scatter(a,b,100,c,p)1 0 .9 0 .8 0 .7 0 .6 0 .5 0 .4 0 .3 0 .2 0 .1 0 0 0 .1 0 .2 0 .3 0 .4 0 .5 0 .6 0 .7 0 .8 0 .9 126张卫华 MATLAB 课堂电子工程学院2009-10-15一、二维绘图函数6其他 compasscompass(7+2.9i,2-3
21、i,-1.5-6i);张卫华 MATLAB 课堂27电子工程学院2009-10-15二、图形控制图形的可视化编辑: 图形的可视化编辑:1、可视化编辑 、图形窗口上有一个菜单栏和工具栏。 图形窗口上有一个菜单栏和工具栏。 菜单栏包含 File、Edit、View、Insert、Tools、 、 菜单栏包含 、 、 、 、 Window 和 Help 共 7 个菜单项, 个菜单项, 和 共 个菜单项 工具栏包含 11 个命令按钮。 工具栏包含 个命令按钮。 个命令按钮 能完成对图像控制的大部分操作 自己熟悉。自己熟悉。张卫华 MATLAB 课堂28电子工程学院2009-10-15二、图形控制2、常
22、用命令控制 、figure (n)打开编号为 的图形窗口 打开编号为 n 的图形窗口 ) 打开编号为 close(n) 关闭编号为 的图形窗口 关闭编号为 n 的图形窗口 ( ) 关闭编号为 clf 清除当前图形窗口 清除当前图形窗口 subplot (m,n,p) 将打窗口分割 hold on/off 图形保持 图形保持 title 图形名称 图形名称 xlabel x 轴说明 轴说明 ylabel y 轴说明 轴说明 text 在 x,y,图形说明 图形说明) 图形说明 gtext 在鼠标处的图形说明 legend (图例 图例 图例 1,图例 图例 图例 2,) grid on/off
23、网格 网格 box on/off 边框 axis(xmin xmax ymin ymax zmin zmax) 设置坐标边界 设置坐标边界 axis equal: 纵、横坐标轴采用等长刻度。 : 纵 横坐标轴采用等长刻度。 axis square: 产生正方形坐标系 缺省为矩形 。 产生正方形坐标系(缺省为矩形 : 产生正方形坐标系 缺省为矩形)。axis auto: 使用缺省设置。 使用缺省设置。 : 使用缺省设置 axis on /off: 显示取消坐标轴。 显示取消坐标轴。 : 显示取消坐标轴 set 高级属性设置张卫华 MATLAB 课堂29电子工程学院2009-10-15二、图形控制
24、axis 的所有参数参数 auto equal 命令功能2、常用命令控制 、自动设置坐标系(默认) 将图形的 x,y 坐标轴的单位刻度设置为相等square 将图形设置为正方形图形normal 关闭 axis() 和 axis(equal)命令的作用 xy ij on off 使用迪卡尔坐标系(直角坐标系) 使用矩阵坐标系,即原点在左上角,横 x,纵 y 打开所有坐标轴标注、标记和背景 关闭所有坐标轴标注、标记和背景张卫华 MATLAB 课堂30电子工程学院2009-10-15二、图形控制2、常用命令控制 、利用 set 设置坐标轴刻度标示按照向量进行坐标轴刻度标示的命令 命令格式: 标示向量
25、) 命令格式:set(gca,xtick,标示向量 标示向量 set(gca,ytick,标示向量 标示向量) 标示向量 按照字符串进行坐标轴刻度标示的命令 命令格式: 命令格式: set(gca,xticklabel,字符串|字符串 ) 字符串 字符串 字符串 set(gca,yticklabel,字符串 字符串 ) 字符串 字符串|字符串张卫华 MATLAB 课堂31电子工程学院2009-10-15二、图形控制2、常用命令控制 、张卫华 MATLAB 课堂32电子工程学院2009-10-15二、图形控制文字标注2、常用命令控制 、字体及上下标控制 控制字符 arg _arg 功能 上标 下
26、标 例子 a-tsinx a_tsinx fontsize14example 5fontsizearg 字号(磅) arg字体设置 bfSIN(t) (bf 黑体,it 斜体 1,sl 斜 体二,rm正体)张卫华 MATLAB 课堂33电子工程学院2009-10-15二、图形控制2、常用命令控制 、特殊字符 pi Pi rho Sigema Omega omega pm times int 欧姆 加减 乘 积分alpha beta gamma文字标注delta epsilon eta theta lambda mu例如, 例如,text(0.3,0.5,sin(omegat+beta)将得到标
27、注效 将得到标注效 果 sin(t+)。 。张卫华 MATLAB 课堂34电子工程学院2009-10-15二、图形控制2、常用命令控制 、张卫华 MATLAB 课堂35电子工程学院2009-10-15二、图形控制 图例标注2、常用命令控制 、legend(字串 ,字串 ,,参数 字串 1,字串 2, 参数 参数) 字串参数字串含义 参数字串 0 1 2 3 4 -1 含义 尽量不与数据冲突 放置在图形右上角(默认) 放置在图形右上角(默认) 放置在图形左上角 放置在图形左下角 放置在图形右下角 放置在图形视窗外右边张卫华 MATLAB 课堂36电子工程学院2009-10-15二、图形控制2、常
28、用命令控制 、例 1: 在一个图形窗口中创建两个子图,在第一个子 图中用绿颜色的点线、上三角标记点画0,2pi 的 sin(x)曲线,在第二个子图中用红颜色的 虚线、 “*”标记点画-2,2的 y2 曲线,并分别 加标题“正弦曲线 sinx”和“抛物线 y2”。张卫华 MATLAB 课堂37电子工程学院2009-10-15二、图形控制2、常用命令控制 、例 2: : t=0:0.1:10 y1=sin(t);y2=cos(t);plot(t,y1,r,t,y2,b-); x=1.7*pi;1.6*pi; y=-0.3;0.8; s=sin(t);cos(t); text(x,y,s); tit
29、le(正弦和余弦曲线 正弦和余弦曲线); 正弦和余弦曲线 legend(正弦 余弦 正弦,余弦 正弦 余弦) xlabel(时间 时间 t),ylabel(正弦、余弦 正弦、 时间 正弦 余弦) grid axis square张卫华 MATLAB 课堂38电子工程学院2009-10-15三、三维绘图1、3 维曲线 、 维曲线plot3(x1,y1,z1,选项 选项 1,x2,y2,z2,选项 选项 选项 2,xn,yn,zn,选项 选项 n) 选项绘制空间曲线。 例 1、 绘制空间曲线。 程序如下: t=0:pi/50:2*pi; x=8*cos(t);y=4*sqrt(2)*sin(t);
30、z=4*sqrt(2)*sin(t); plot3(x,y,z,p); title(Line in 3-D Space); text(0,0,0,origin); xlabel(X),ylabel(Y),zlabel(Z); grid;张卫华 MATLAB 课堂39电子工程学院2009-10-15三、三维绘图2、网格 、为了绘制三维立体图形,MATLAB 的方法是将 X 方向划分为 m 份,将 Y 方向划分为 n 份,则可创建 mn 的二维网格,对应于 网格中每一点求出 Z 方向的值,即可得出三维曲面。生成网格 的函数meshgrid。 X,Y= meshgrid(x,y) 矩阵 X 的每一行
31、都是向量x, 行数等于 y 的元素的个数, 矩阵 Y 的每一列都是向量 y, 列数等于 x 的元素的个数 例: x=-2:0.1:2;y=-2:0.25:2; X,Y=meshgrid(x,y);张卫华 MATLAB 课堂40电子工程学院2009-10-15三、三维绘图mesh(x,y,z,c)三维网格图 三维网格图 meshc 带等高线 带等高线 surfl 被光照射带阴影的曲面图 被光照射带阴影的曲面图3、3 维曲面 、 维曲面surf(x,y,z,c)三维曲面绘图 三维曲面绘图 meshz 带底座。 带底座。 带底座 surfc 带等高线 带等高线一般情况下,x,y,z 是维数相同的矩阵
32、。x,y 是网格坐标矩阵,z 一般情况下, 是维数相同的矩阵。 是网格坐标矩阵, 是维数相同的矩阵 是网格坐标矩阵 是网格点上的高度矩阵, 用于指定在不同高度下的颜色范围 用于指定在不同高度下的颜色范围。 是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。 例 绘制三维曲面图 z=sin(x+sin(y)-x/10。 。 程序如下: x,y=meshgrid(0:0.25:4*pi); z=sin(x+sin(y)-x/10; mesh(x,y,z); axis(0 4*pi 0 4*pi -2.5 1); pause; meshc(x,y,z); pause; meshz(x,y,z
33、); pause surf(x,y,z); pause; surfl(x,y,z); pause; surfc(x,y,z); 张卫华 MATLAB 课堂41电子工程学院2009-10-15三、三维绘图4、标准 3 维曲面 、标准 维曲面绘制标准三维曲面图形。 例: 绘制标准三维曲面图形。 程序如下: t=0:pi/20:2*pi; 标准三维曲面 x,y,z=sphere(n) 标准球 x,y,z= cylinder(2+sin(t),30); x,y,z= cylinder(R,n)柱形, subplot(2,2,1); 柱形, 柱形 surf(x,y,z); x,y,z= peaks (n
34、)多峰函数 多峰函数 subplot(2,2,2); x,y,z=sphere; surf(x,y,z); subplot(2,1,2); x,y,z=peaks(30); surf(x,y,z);张卫华 MATLAB 课堂42电子工程学院2009-10-15三、三维绘图bar3、三维条形图 、 stem3、离散序列数据的三维杆图 、 pie3 、三维饼图 fill3、三维函数 、三维函数 fill5、特殊 3 维图形 、特殊 维图形 维图形 1程序如下: subplot(2,2,1); bar3(magic(4) subplot(2,2,2);y=2*sin(0:pi/10:2*pi); 绘
35、制三维图形: 例: 绘制三维图形: stem3(y); (1) 绘制魔方阵的三维条形图。 绘制魔方阵的三维条形图。 subplot(2,2,3); (2) 以三维杆图形式绘制曲线 pie3(2347,1827,2043,3025); y=2sin(x)。 。 subplot(2,2,4); (3) 已知 x=2347,1827,2043,3025, fill3(rand(3,5),rand(3,5),rand(3, , 绘制饼图。 绘制饼图。 5), y )(4) 用随机的顶点坐标值画出五个黄 色三角形。 色三角形。张卫华 MATLAB 课堂43电子工程学院2009-10-15三、三维绘图wa
36、terfall 水线修饰 水线修饰 contour3 三维等高线 三维等高线5、特殊 3 维图形 、特殊 维图形 维图形 2绘制多峰函数的瀑布图和等高线图。 例 5-21 绘制多峰函数的瀑布图和等高线图。 程序如下: 程序如下: subplot(1,2,1); X,Y,Z=peaks(30); waterfall(X,Y,Z) xlabel(X-axis),ylabel(Y-axis),zlabel(Z-axis); subplot(1,2,2); contour3(X,Y,Z,12,k); %其中 代表高度的等级数 其中 12 代表高度的等级数 其中 xlabel(X-axis),ylabe
37、l(Y-axis),zlabel(Z-axis);张卫华 MATLAB 课堂44电子工程学院2009-10-15三、三维绘图6、2 维表示 维 、 维表示 维表示 3 维contour 二维等高线函数 c= contourc(Z,n) 计算 条等高线的坐标 计算 n 条等高线的坐标 clable(c) 给等高线加标注 pcolor 二维平面图表现三维图形的效果,用颜色表示三 二维平面图表现三维图形的效果, 维图形的高度。 维图形的高度。例、在二维平面上绘制 peaks 函数的 条等 函数的 10 条等 在二维平面上绘制 函数的 高线,并用二维颜色图绘制 3 维 高线,并用二维颜色图绘制 维 p
38、eaks 函数 函数 subplot(121) contour(peaks,10); C=contourc(peaks,10);clabel(C) subplot(122) z=peaks(30); pcolor(z)张卫华 MATLAB 课堂45电子工程学院2009-10-15三、三维绘图7、slice 、slice:用于绘制四维切片图 slice(X,Y,Z,v,xi,yi,zi) 其中 X、Y、Z 为使用 meshgrid函数生成的三维网格坐标矩阵; v=f(X,Y,Z) , xi,yi,zi 为切片位置例: x=-2:0.1:2;y=-2:0.25:2;z=-2:0.25:2; X,Y
39、,Z=meshgrid(x,y,z); V=X.*exp(-X.2-Y.2-Z.2); xi=0.7; yi=0.5; zi=-0.5; slice(X,Y,Z,V,xi,yi,zi)张卫华 MATLAB 课堂46电子工程学院2009-10-15四、三维绘图控制view(az,el)1、视角 view 、视角az 方位角;在 x-y 平面上,投影与 Y 的负半轴的夹角 el 俯视角视点与原点的连线与 x-y 平面的夹角 缺省值为:az=-37.5; el=30例。观察不同视角的波峰图形 z=peaks(40); subplot(2,2,1);mesh(z); subplot(2,2,2);me
40、sh(z);view(-15,60); subplot(2,2,3);mesh(z);view(-90,0); subplot(2,2,4);mesh(z);view(-7,-10);张卫华 MATLAB 课堂47四、三维绘图控制10 0 -10 40 20 0 0 az=-90,el=0 10az=-37.5,el=301、视角 view 、视角 100 -10 40 40 20电子工程学院 az=-15,el=602009-10-152020 0 0 az=-7,el=-10 10405 0 -5 -10 40 20 0 -10 0 20 0 20 40 40张卫华 MATLAB 课堂48
41、0电子工程学院2009-10-15四、三维绘图控制2、光源 light 、光源light(Color,选项 选项 1,Style,选项 选项2,Position,选项 光源选择。 选项 3) 选项 选项 选项 光源选择。 选项 1:表示光的颜色,取 RGB 三元组或者响应的颜色字符。选项 2:有infinite和local两个选项 选项 3:取三维坐标向量x,y,z。对于远光,表示光经过该点 射向原点,对于近光,表示光源所在的位置。 缺省值 是白光,无穷远,穿过1,0,1射向原点光照处理后的球面。 例: 光照处理后的球面。 程序如下: x,y,z=sphere(20); subplot(1,2
42、,1); surf(x,y,z);axis equal; light(posi,0,1,1); hold on;plot3(0,1,1,p);text(0,1,1, light); subplot(1,2,2); surf(x,y,z);axis equal; light(posi,1,0,1); hold on; plot3(1,0,1,p);text(1,0,1, light);张卫华 MATLAB 课堂49电子工程学院2009-10-15四、三维绘图控制3、表面处理 shading 、表面处理P eaksshading faceted 网格修饰,缺省方式 网格修饰,50-5 2 0 -2
43、 y -2 x张卫华 MATLAB 课堂502 0电子工程学院2009-10-15四、三维绘图控制3、表面处理 shading 、表面处理P eaksshading flat 去掉黑色线条, 去掉黑色线条,50-5 2 0 -2 y -2 x张卫华 MATLAB 课堂512 0电子工程学院2009-10-15四、三维绘图控制3、表面处理 shading 、表面处理shading interp 根据小方块四角的值差补过度点的值确定 根据小方块四角的值差补过度点的值确定 颜色张卫华 MATLAB 课堂52电子工程学院2009-10-15四、三维绘图控制4、着色 colormap 、着色colorm
44、ap 色图是 3 的数值矩阵,它的每一 色图是 m 的数值矩阵, 色图是 行是 RGB 三元组。每个元素最大值是 ,最小 三元组。 行是 三元组 每个元素最大值是 1, 值是 0 值是 系统色图函数 Autumn bone colorcube cool copper flag gray hot hsv Jet lines pink prism spring summer winter white 默认是 64 行 colorbar() 是设置色柱参数为 () 是设置色柱参数为vert horiz张卫华 MATLAB 课堂53电子工程学院2009-10-15四、三维绘图控制4、着色 colorm
45、ap 、着色peaks(30);shading interp;colormap(hot)张卫华 MATLAB 课堂54电子工程学院2009-10-15X,Y,Z=peaks(30);surfl(X,Y,Z) 4、着色 四、三维绘图控制 、着色 colormap shading interp;colormap(cool);axis off张卫华 MATLAB 课堂55电子工程学院2009-10-15四、三维绘图控制Peaks4、着色 colormap 、着色Peakspeaks(30);colormap(hot);colorbar(horiz) figure(2);colormap(cool);
46、5 0 -5 2 0 y -2 -2 x 2 05 0 -5 2 0 y -2 -2 x 2 0-505-505张卫华 MATLAB 课堂56电子工程学院2009-10-15四、三维绘图控制5、透视与消隐 hide 、p=peaks(30);mesh(p);hidden on ;10 5 0 -5 -10 30 20 10 0 0张卫华 MATLAB 课堂5730 20 10电子工程学院2009-10-15四、三维绘图控制5、透视与消隐 hide 、p=peaks(30);mesh(p);hidden off10 5 0 -5 -10 30 20 10 0 0张卫华 MATLAB 课堂5830
47、 20 10电子工程学院2009-10-15四、三维绘图控制6、裁减 、p=peaks; p(30:40,20:30)=nan*p(30:40,20:30); surf(p)10 5 0 -5 -10 60 40 20 0 0张卫华 MATLAB 课堂5960 40 20电子工程学院2009-10-15四、三维绘图控制6、裁减 、绘制三维曲面图,并进行插值着色处理, 例: 绘制三维曲面图,并进行插值着色处理,裁掉图 都小于 0 部分 中 x 和 y 都小于 部分。 和 都小于 部分。 程序如下: 程序如下: x,y=meshgrid(-5:0.1:5); z=cos(x).*cos(y).*e
48、xp(-sqrt(x.2+y.2)/4); surf(x,y,z);shading interp; pause i=find(x=0 z1=z;z1(i)=NaN; surf(x,y,z1);shading interp;张卫华 MATLAB 课堂60电子工程学院2009-10-15五、图像处理与动画制作1 图像处理imread 和 imwrite 函数 和 函数 imread:将图像文件读入 工作空间, :将图像文件读入 MATLAB 工作空间, 工作空间 imwrite:将图像数据和色图数据一起写入一定格式的 : 图像文件。图像文件。 image、imagesc:图像显示。 、 :图像显示。为了保证图像的显示效果,一般还应使用 colormap 函数设置图像色图。 MATLAB 支持多种图像文件格式,如.bmp、.jpg、.jpeg、.tif 等