当前位置:文档之家› 3-MATLAB图形可视化

3-MATLAB图形可视化

MATLAB绘图摘要:MATLAB 可以表达出数据的二维、三维和四维的图形。

通过对图形的线型、立面、色彩、光线、视角等属性的控制,可把数据的内在特征表现得更加细腻完善。

二维图形的绘制是MATLAB 语图形处理基础,也是在绝大多数数值计算中广泛应用的图形之一。

为了显示三维图形,MATLAB提供了各种各样的函数。

有一些函数可在三维空间中画线,而另一些可以画曲面与线格框架。

关键词:二维绘图三维绘图特殊绘图极坐标绘图柱坐标绘图球坐标绘图四维表现图引言MATLAB,即“矩阵实验室”,它具有强大的绘图功能。

语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。

不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。

matlab语言不仅具有高层绘图能力,而且还具有底层绘图能力——句柄绘图方法。

在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用图形。

本文从图形出发,详尽地介绍MATLAB的绘图功能及其用法。

一、二维绘图二维图形的绘制是MATLAB语言图形处理的基础,它包括一般二维图形的绘制和特殊二维图形的绘制。

(一)、一般的二维图形的绘制1.使用plot作图【命令】plot【调用格式】plot(x) %向量绘图plot(x,y) %基本函数绘图plot(x,y,'cs') %自定义样式基本函数绘图,c 颜色,s线型plot(x,y,'cs','markersize',n) %自定义样式与大小格式plot(x1,y1,x2,y2,…) %多曲线绘图格式plot(x1,y1,'cs1',x2,y2,'cs2',…) %自定义样式多曲线绘图plot(x1,y1,'cs1',x2,y2,'cs2',…,' markersize',n)%自定义样式与大小多曲线绘图格式subplot(m,n,p) % 子图分割,m代表行;n代表列;p代表绘图序号此命令绘制不同的线型、点标和颜色的图形,其中cs为字符,可以代表不同的属性,包括线型、点标和颜色。

plot绘图函数属性参数【例】[]2,2ππ-上作sin()cos()y x x =的图形【程序代码】x=-2*pi:0.01:2*pi; y=sin(x); plot(x,y)【例】在[],ππ-上用你喜欢的颜色、样式等作出()()()()tan sin x sin tan x -的图形【程序代码】clfx=-pi:0.01:pi;y=tan(sin(x))-sin(tan(x)); plot(x,y,'b*')【例】在[],ππ-上用你喜欢的颜色、样式、大小等作出()()()()tan sin x sin tan x -的图形【程序代码】x=-2*pi:pi/100:pi; y=tan(sin(x))-sin(tan(x));plot(x,y,'-.rs','markersize',5)【例】上作sin()cos()y x x =的图形【程序代码】 clfx=-2*pi:0.01:2*pi;y=sin(x)*cos(x);plot(x,y)??? Error using ==> mtimesInner matrix dimensions must agree. 【例】[]2,2ππ-上作sin()cos()y x x =的图形【程序代码】x=-2*pi:0.01:2*pi;y=sin(x).*cos(x);plot(x,y)注意在给初等函数绘图时,当表达式里出现“*”,“/”“^”时,必须在该符号前加“.”,否则无法形成有序实数对,再如【例】[]2,2ππ-上作3sin()y x x =的图形【程序代码】x=-2*pi:0.01:2*pi;y=x.^3.*sin(x);plot(x,y)【例】 在同一窗口在[2,2*pi]之间绘制sin(x)图形和cos(x)图形【程序代码】x=0:pi/30:2*pi;y1=sin(x);y2=cos(sin(x));plot(x,y1,'+r',x,y2,'pb')【例】在同一窗口在[2,2*pi]之间绘制sin(x)图形和cos(x)图形【程序代码】x=0:pi/30:2*pi;y1=sin(x);y2=exp(x);plot(x,y1,'+r',x,y2,'pb')4、子图分割【例】在子图窗口于[0,2*pi]之间分别用你喜欢的颜色和线型绘制sin(x),cos(x)和exp(x)图形【程序代码】x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);y3=exp(x);subplot(1,3,1);plot(x,y1,'bp')subplot(1,3,2);plot(x,y2,'k*')subplot(1,3,3);plot(x,y3,'ro')MATLAB 提供了一组命令用于对图形进行标注,将标题、坐标轴标记、网格线及文字注释加注到图形上,这些函数如下: 【命令】title —— 给图形加标题 xlable —— 给x 轴加标注 ylable —— 给y 轴加标注text —— 在图形指定位置加文本标注gtext —— 用鼠标将标注放置在图形任意位置 grid on(off) —— 打开、关闭坐标网格线 legend('图例说明','图例说明')—— 添加图例 axis on(off) —— 打开、关闭坐标轴的刻度 【调用格式】legend('sin(x)','cos(x)') gtext('string')gtext({'string1';'string2';'string3';...})title('正弦和余弦曲线'); legend('正弦','余弦')xlabel('时间t'),ylabel('正弦、余弦') grid off(on) axis on (off)下面以在同一个窗口做出带有标注的正、余弦函数图像为例,结果如下图所示。

【例】在同一个窗口于[]02π,做出y1=sin(2x);y2=cos(x)的图形,并给出图例及有关标注【程序代码】clfx=0:pi/40:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,'bp',x,y2,'r+');gtext({'正弦';'余弦'})title ('正弦和余弦曲线')legend ('sin(x)','cos(x)')xlabel('横坐标x'),ylabel('纵坐标y') grid onaxis on(三)、特殊的二维图形【命令】如下表【调用格式】同plot(x,y)(1).stairs命令【例】绘制阶梯曲线【程序代码】x=0:pi/20:2*pi;y=sin(x);stairs(x,y)【例】绘制极坐标绘图【程序代码】t=0:2*pi/90:2*pi;y=cos(4*t);polar(t,y)【例】y x x ππtan(sin )sin(tan )=-在[-,]上绘制的火柴杆图 【程序代码】x=-pi:pi/20:pi;y=tan(sin(x))-sin(tan(x));stem(x,y)theta=linspace(0, 2*pi, 20);z = cos(theta)+i*sin(theta); compass(z);若要产生极座标图形,可用polar:theta=linspace(0, 2*pi);r=cos(4*theta);polar(theta, r);【例】绘制直方图【程序代码】t=0:0.2:2*pi; y=cos(t); bar(t,y)【例】绘制彗星曲线图【程序代码】clft= -pi:pi/500:pi;y=tan(sin(t))-sin(tan(t)); comet(t,y)【例9】绘制区域图【程序代码】clfx=magic(6);area(x)二、三维绘图最常用的三维绘图时绘制三维曲线图、三维网格图和三维曲面图三种基本类型,相应的命令为plot3,pie3,mesh,surf.1.最基本的三维绘图MATLAB 三维绘图函数主要是plot3.plot3函数是将绘制二维图形函数plot 扩展到了三维空间,在调用格式上除了还包括第三维的信息(如Z 轴方向)之外,其他都与二维函数plot 基本相同。

【命令】plot3【调用格式】plot3(x,y,z) %x,y,z 为维数相同的向量或矩阵(即由参数方程确定的三维曲线图)plot3(x,y,z,'cs') %自定义样式三维绘图 plot3(x1,y1,z1,'cs1',x2,y2,z2,'cs2',…) %自定义样式多三维图绘制格式注:二维图形的所有基本特性对三维图形全都适用,子图和多窗口也可以用到三维图形中.一般调用plot3(x,y,y) 命令后,将在三维空间产生一条曲线,该曲线上的点的坐标分别为矢量x 、y 、z 的相应元素。

【例】绘制()sin 2cos sin 0,10cos3x t t t y tt z t π=⎧⎪=∈⎨⎪=⎩函数三维线图【程序代码】t=0:pi/80:10*pi;plot3(t.*sin(2.*t).*cos(t),sin(t),cos(3.*t),'b')【例】根据三维矩阵绘制()sin cos 0,20sin cos x t y tt z t t t π=⎧⎪=∈⎨⎪=⎩函数三维曲线图【程序代码】t=0:pi/100:20*pi;plot3(sin(t),cos(t),t.*sin(t).*cos(t))【例】利用plot3绘制一串蓝宝石项链【程序代码】t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z,'b-',x,y,z,'bd'),view([-82,58]),box on,legend(' 链 ',' 宝石')【命令】pie3【调用格式】pie3(x,y) %y为突出控制向量2、绘制向量[361829]X 的三维饼图,并要求把最大和最小两部分突出显示【程序代码】x=[3,6,9,8,2,1];y=[0,0,1,0,0,1];pie3(x,y)2.绘制三维网格图【命令】mesh【调用格式】mesh(z) % z为n×m的矩阵,x与y坐标为元素的下标mesh(x,y,z) % 画出三维网格图meshc(x,y,z) % 画出带有等高线的三维网格图meshz(x,y,z,c) % 画出带有底座线的三维网格图说明:三维网线图作图要领生成坐标值—— [X,Y]=meshgrid(x,y)Z=f(X,Y) —根据X,Y坐标找出Z的高度【例】绘制22+在[-7,7;-7,7]上的三维网线图形z x y【程序代码】x=-7:.1:7; y=x;[X,Y]=meshgrid(x,y); %meshgrid网线坐标值计算函数,[X,Y]表示坐标矩阵Z=X.^2+Y.^2; %Z表示坐标矩阵mesh(X,Y,Z) %生成三维网线图形【例】绘制22169=-x yz在[-4,4;-3,3]上的三维网线图形(马鞍面)【程序代码】x=-4:.05:4; y=-3:.05:3;[X,Y]=meshgrid(x,y); %meshgrid网线坐标值计算函数,[X,Y]表示坐标矩阵Z=(X.^2)/16-(Y.^2)/9; %Z表示坐标矩阵meshz(X,Y,Z) %生成三维网线图形【例】绘制z=在[-7,7;-7,7]上的三维网线图形【程序代码】x=-7:.1:7; y=x;[X,Y]=meshgrid(x,y);R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;mesh(X,Y,Z)3.绘制三维曲面图1)surf同mesh命令用法和使用格式相同,不同之处在于绘得的图形是一个彩色曲面而不是彩色网格。

相关主题