Matlab画图-非常具体,非常全面

Matlab画图

强大的画图功能是Matlab的特点之中的一个,Matlab提供了一系列的画图函数,用户不须要过多的考虑画图的细节,仅仅须要给出一些基本參数就能得到所需图形,这类函数称为高层画图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层画图操作。这类操作将图形的每一个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每一个对象分配一个句柄,能够通过句柄对该图形元素进行操作,而不影响其它部分。

本章介绍绘制二维和三维图形的高层画图函数以及其它图形控制函数的用法,在此基础上,再介绍能够操作和控制各种图形对象的低层画图操作。

一.二维画图

二维图形是将平面坐标上的数据点连接起来的平面图形。能够採用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其它画图操作的基础。

一.绘制二维曲线的基本函数

在Matlab中,最基本并且应用最为广泛的画图函数为plot,利用它能够在二维平面上绘制出不同的曲线。

1. plot函数的基本使用方法

plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和相应的y坐标,能够绘制分别以x和y为横、纵坐标的二维曲线。plot函数的应用格式

plot(x,y)     当中x,y为长度同样的向量,存储x坐标和y坐标。

例51 在[0 , 2pi]区间,绘制曲线

程序例如以下:在命令窗体中输入下面命令

>> x=0:pi/100:2*pi;

>> y=2*exp(-0.5*x).*sin(2*pi*x);

>> plot(x,y)

程序运行后,打开一个图形窗体,在当中绘制出例如以下曲线

注意:指数函数和正弦函数之间要用点乘运算,由于二者是向量。

例52 绘制曲线

这是以參数形式给出的曲线方程,仅仅要给定參数向量,再分别求出x,y向量就可以输出曲线:

>> t=-pi:pi/100:pi;

>> x=t.*cos(3*t);

>> y=t.*sin(t).*sin(t);

>> plot(x,y)

程序运行后,打开一个图形窗体,在当中绘制出例如以下曲线

以上提到plot函数的自变量x,y为长度同样的向量,这是最常见、最主要的使用方法。实际应用中另一些变化。分别说明:

2. 含多个输入參数的plot函数

plot函数能够包括若干组向量对,每一组能够绘制出一条曲线。含多个输入參数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)

例如以下列命令能够在同一坐标中画出3条曲线。

>> x=linspace(0,2*pi,100);

>> plot(x,sin(x),x,2*sin(x),x,3*sin(x))

当输入參数有矩阵形式时,配对的x,y按相应的列元素为横坐标和纵坐标绘制曲线,曲线条数等于矩阵的列数。

>> x=linspace(0,2*pi,100);

>> y1=sin(x);

>> y2=2*sin(x);

>> y3=3*sin(x);

>> x=[x;x;x]‘;

>> y=[y1;y2;y3]‘;

>> plot(x,y,x,cos(x))

x,y都是含有三列的矩阵,它们组成输入參数对,绘制三条曲线;x和cos(x)又组成一对,绘制一条余弦曲线。

利用plot函数能够直接将矩阵的数据绘制在图形窗口中,此时plot函数将矩阵的每一列数据作为一条曲线绘制在窗口中。如

>> A=pascal(5)

A =

1     1     1     1     1

1     2     3     4     5

1      3     6    10    15

1     4    10    20    35

1     5    15    35    70

>> plot(A)

3. 含选项的plot函数

Matlab提供了一些画图选项,用于确定所绘曲线的线型、颜色和数据点标记符号。这些选项如表所看到的:


线型


颜色


标记符号


- 实线


b蓝色


.   点


s 方块


: 虚线


g绿色


o 圆圈


d 菱形


-. 点划线


r红色


× 叉号


∨朝下三角符号


-- 双划线


c青色


+ 加号


∧朝上三角符号


m品红


* 星号


<朝左三角符号


y黄色


>朝右三角符号


k黑色


p 五角星


w白色


h 六角星

例 用不同的线型和颜色在同一坐标内绘制曲线 及其包络线。

>> 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,‘k:‘,x,y2,‘b--‘,x1,y3,‘rp‘);

在该plot函数中包括了3组画图參数,第一组用黑色虚线画出两条包络线,第二组用蓝色双划线画出曲线y,第三组用红色五角星离散标出数据点。

4. 双纵坐标函数plotyy

在Matlab中,假设须要绘制出具有不同纵坐标标度的两个图形,能够使用plotyy函数,它能把具有不同量纲,不同数量级的两个函数绘制在同一个坐标中,有利于图形数据的对照分析。使用格式为:plotyy(x1,y1,x2,y2)

x1,y1相应一条曲线,x2,y2相应还有一条曲线。横坐标的标度同样,纵坐标有两个,左边的相应x1,y1数据对,右边的相应x2,y2。

例:(略)

二.绘制图形的辅助操作

绘制完图形以后,可能还须要对图形进行一些辅助操作,以使图形意义更加明白,可读性更强。

1. 图形标注

在绘制图形时,能够对图形加上一些说明,如图形的名称、坐标轴说明以及图形某一部分的含义等,这些操作称为加入?图形标注。有关图形标注函数的调用格式为:

title(’图形名称’) (都放在单引號内)

xlabel(’x轴说明’)

ylabel(’y轴说明’)

text(x,y,’图形说明’)

legend(’图例1’,’图例2’,…) P190

当中,title、xlabel和ylabel函数分别用于说明图形和坐标轴的名称。text函数是在坐标点(x,y)处加入?图形说明。(P88 或用gtext命令)。legend函数用于绘制曲线所用线型、颜色或数据点标记图例,图例放置在空白处,用户还能够通过鼠标移动图例,将其放到所希望的位置。除legend函数外,其它函数相同适用于三维图形,在三维中z坐标轴说明用zlabel函数。

上述函数中的说明文字,除了使用标准的ASCII字符外,还能够使用LaTex(一种流行的数学排版软件)格式的控制字符,这样就能够在图形上加入?希腊字符,数学符号和公式等内容。在Matlab支持的LaTex字符串中,用/bf , /it , /rm控制字符分别定义黑体、斜体和正体字符,受LaTex字符串控制部分要加大括号{}括起来。比如,text(0.3,0.5,’the usful {/bf MATLAB}’),将使MATLAB一词黑体显示。一些经常使用的LaTex字符见表,各个字符能够单独使用也能够和其它字符及命令配合使用。如text(0.3 ,0.5 ,’sin({/omega}t+{/beta})’)

将得到标注效果 。


标识符


符号


标识符


符号


标识符


符号


/alpha


/epsilon


/infty


/beta


/eta


/int


/gamma


/Gamma


/partial


/delta


/Delta


/leftarrow


/theta


/Theta


/rightarrow


/lambda


/Lambda


/downarrow


/xi


/Xi


/uparrow


/pi


/Pi


/div


/omega


/Omega


/times


/sigma


/Sigma


/pm


/phi


/Phi


/leq


/psi


/Psi


/geq


/rho


/tau


/neq


/mu


/zeta


/forall


/nu


/chi


/exists

2. 坐标控制

在绘制图形时,Matlab能够自己主动依据要绘制曲线数据的范围选择合适的坐标刻度,使得曲线能够尽可能清晰的显示出来。所以,普通情况下用户不必选择坐标轴的刻度范围。可是,假设用户对坐标不惬意,能够利用axis函数对其又一次设定。其调用格式为

axis([xmin xmax ymin ymax zmin zmax])

假设仅仅给出前四个參数,则依照给出的x、y轴的最小值和最大值选择坐标系范围,绘制出合适的二维曲线。假设给出了所有參数,则绘制出三维图形。

axis函数的功能丰富,其经常使用的使用方法有:

axis equal :纵横坐标轴採用等长刻度

axis square:产生正方形坐标系(默觉得矩形)

axis auto:使用默认设置

axis off:取消坐标轴

axis on :显示坐标轴

还有:给坐标加网格线能够用grid命令来控制,grid on/off命令控制画还是不画网格线,不带參数的grid命令在两种之间进行切换。

给坐标加边框用box命令控制。和grid一样使用方法

例 :绘制分段函数,并加入?图形标注。(略)

3. 图形保持

普通情况下,每运行一次画图命令,就刷新一次当前图形窗体,图形窗体原有图形将不复存在,假设希望在已经存在的图形上再继续加入?新的图形,能够使用图形保持命令hold。hold on/off 命令是保持原有图形还是刷新原有图形,不带參数的hold命令在两者之间进行切换。

例:(略)

4. 图形窗体切割

在实际应用中,常常须要在一个图形窗体中绘制若干个独立的图形,这就须要对图形窗体进行切割。切割后的图形窗体由若干个画图区组成,每个画图区能够建立独立的坐标系并绘制图形。同一图形窗体下的不同图形称为子图。Matlab提供了subplot函数用来将当前窗体切割成若干个画图区,每个区域代表一个独立的子图,也是一个独立的坐标系,能够通过subplot函数激活某一区,该区为活动区,所发出的画图命令都是作用于该活动区域。调用格式:

subplot(m,n,p)

该函数把当前窗体分成m×n个画图区,m行,每行n个画图区,区号按行优先编号。当中第p个区为当前活动区。每个画图区同意以不同的坐标系单独绘制图形。

例:(略)

三.绘制二维图形的其它函数

1. 其它形式的线性直角坐标图

在线性直角坐标中,其它形式的图形有条形图、阶梯图、杆图和填充图等,所採用的函数分别为:

bar(x,y,选项)      选项在单引號中

stairs(x,y,选项)

stem(x,y,选项)

fill(x1,y1,选项1,x2,y2,选项2,…)

前三个函数和plot的使用方法类似,仅仅是没有多输入变量形式。fill函数按向量元素下标渐增次序依次用直线段连接x,y相应元素定义的数据点。

例5-8:分别以条形图、填充图、阶梯图和杆图形式绘制曲线

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);stem(x,y,‘k‘);

title(‘stem(x,y,‘‘k‘‘)‘);axis([0, 7, 0 ,2]);

2. 极坐标图

polar函数用来绘制极坐标图,调用格式为:

polar(theta,rho,选项)

当中,theta为极坐标极角,rho为极径,选项的内容和plot函数类似。

例5-9:绘制 的极坐标图

theta=0:0.01:2*pi;

rho=sin(3*theta).*cos(5*theta);

polar(theta,rho,‘r‘);

3. 对数坐标图

在实际应用中,经经常使用到对数坐标,Matlab提供了绘制对数和半对数坐标曲线的函数,其调用格式为:

semilogx(x1,y1,选项1,x2,y2,选项2,…)

semilogy(x1,y1,选项1,x2,y2,选项2,…)

loglog(x1,y1,选项1,x2,y2,选项2,…)

这些函数中选项的定义和plot函数全然一样,所不同的是坐标轴的选取。semilogx函数使用半对数坐标,x轴为经常使用对数刻度,而y轴仍保持线性刻度。semilogy恰好和semilogx相反。loglog函数使用全对数坐标,x、y轴均採用对数刻度。

例:略

4. 对函数自适应採样的画图函数

5. 其它形式的二维图形

二. 三维画图

一.绘制三维曲线的基本函数

最主要的三维图形函数为plot3,它将二维画图函数plot的有关功能扩展到三维空间,能够用来绘制三维曲线。其调用格式为:

plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…)

当中每一组x,y,z组成一组曲线的坐标參数,选项的定义和plot的选项一样。当x,y,z是同维向量时,则x,y,z相应元素构成一条三维曲线。当x,y,z是同维矩阵时,则以x,y,z相应列元素绘制三维曲线,曲线条数等于矩阵的列数。

例513 绘制空间曲线

该曲线相应的參数方程为

t=0:pi/50:2*pi;

x=8*cos(t);

y=4*sqrt(2)*sin(t);

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;

二.三维曲面

1.平面网格坐标矩阵的生成

当绘制z=f(x,y)所代表的三维曲面图时,先要在xy平面选定一矩形区域,假定矩形区域为D=[a,b]×[c,d],然后将[a,b]在x方向分成m份,将[c,d]在y方向分成n份,由各划分点做平行轴的直线,把区域D分成m×n个小矩形。生成代表每个小矩形顶点坐标的平面网格坐标矩阵,最后利用有关函数画图。

产生平面区域内的网格坐标矩阵有两种方法:

利用矩阵运算生成。

x=a:dx:b;

y=(c:dy:d)’;

X=ones(size(y))*x;

Y=y*ones(size(x));

经过上述语句运行后,矩阵X的每一行都是向量x,行数等于向量y的元素个数,矩阵Y的每一列都是向量y,列数等于向量x的元素个数。

利用meshgrid函数生成;

x=a:dx:b;

y=c:dy:d;

[X,Y]=meshgrid(x,y);

语句运行后,所得到的网格坐标矩阵和上法,同样,当x=y时,能够写成meshgrid(x)

2.绘制三维曲面的函数

Matlab提供了mesh函数和surf函数来绘制三维曲面图。mesh函数用来绘制三维网格图,而surf用来绘制三维曲面图,各线条之间的补面用颜色填充。其调用格式为:

mesh(x,y,z,c)

surf(x,y,z,c)

普通情况下,x,y,z是维数同样的矩阵,x,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。c省略时,Matlab觉得c=z,也即颜色的设定是正比于图形的高度的。这样就能够得到层次分明的三维图形。当x,y省略时,把z矩阵的列下标当作x轴的坐标,把z矩阵的行下标当作y轴的坐标,然后绘制三维图形。当x,y是向量时,要求x的长度必须等于z矩阵的列,y的长度必须等于必须等于z的行,x,y向量元素的组合构成网格点的x,y坐标,z坐标则取自z矩阵,然后绘制三维曲线。

例515 用三维曲面图表现函数 :

为了便于分析三维曲面的各种特征,以下画出3种不同形式的曲面。

%program 1

x=0:0.1:2*pi;

[x,y]=meshgrid(x);

z=sin(y).*cos(x);

mesh(x,y,z);

xlabel(‘x-axis‘),ylabel(‘y-axis‘),zlabel(‘z-axis‘);

title(‘mesh‘); pause;

%program 2

x=0:0.1:2*pi;

[x,y]=meshgrid(x);

z=sin(y).*cos(x);

surf(x,y,z);

xlabel(‘x-axis‘),ylabel(‘y-axis‘),zlabel(‘z-axis‘);

title(‘surf‘); pause;

%program 3

x=0:0.1:2*pi;

[x,y]=meshgrid(x);

z=sin(y).*cos(x);

plot3(x,y,z);

xlabel(‘x-axis‘),ylabel(‘y-axis‘),zlabel(‘z-axis‘);

title(‘plot3-1‘);grid;

程序运行结果分别如上图所看到的。从图中能够发现,网格图(mesh)中线条有颜色,线条间补面无颜色。曲面图(surf)的线条都是黑色的,线条间补面有颜色。进一步观察,曲面图补面颜色和网格图线条颜色都是沿z轴变化的。用plot3 绘制的三维曲面实际上由三维曲线组合而成。能够分析plot(x’,y’,z’)所绘制的曲面的特征。

例516 绘制两个直径相等的圆管相交的图形。

m=30;

z=1.2*(0:m)/m;

r=ones(size(z));

theta=(0:m)/m*2*pi;

x1=r‘*cos(theta);y1=r‘*sin(theta);%生成第一个圆管的坐标矩阵

z1=z‘*ones(1,m+1);

x=(-m:2:m)/m;

x2=x‘*ones(1,m+1);y2=r‘*cos(theta);%生成第一个圆管的坐标矩阵

z2=r‘*sin(theta);

surf(x1,y1,z1);          %绘制竖立的圆管

axis equal ,axis off

hold on

surf(x2,y2,z2);          %绘制平放的圆管

axis equal ,axis off

title (‘两个等直径圆管的交线‘);

hold off

例517 分析由函数 构成的曲面形状与平面z=a的交线。

此外,还有两个和mesh函数类似的函数,即带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz,其使用方法和mesh类似。不同的是,meshc还在xy平面上绘制曲面在z轴方向的等高线,meshz还在xy平面上绘制曲面的底座。

surf函数也有两个相似的函数,即具有等高线的曲面函数surfc和具有光照效果的曲面函数surfl。

例518 在xy平面内选择[-8, 8]×[-8, 8]绘制函数,

[x,y]=meshgrid(-8:0.5:8);

z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);

subplot(2,2,1);

meshc(x,y,z);

title(‘meshc‘);

subplot(2,2,2);

meshz(x,y,z);

title(‘meshz‘);

subplot(2,2,3);

surfc(x,y,z);

title(‘surfc‘);

subplot(2,2,4);

surfl(x,y,z);

title(‘surfl‘);

3.标准三维曲面

Matlab提供了一些函数用于绘制标准三维曲面,这些函数能够产生对应的画图数据,经常使用于三维图形的演示。如,sphere函数和cylinder函数分别用于绘制三维球面和柱面。sphere函数的调用格式为:

[x,y,z]=sphere(n);

该函数将产生(n+1)×(n+1矩阵x,y,z 。採用这三个矩阵能够绘制出圆心位于原点、半径为1的单位球体。若在调用该函数时不带输出參数,则直接绘制所需球面。n决定了球面的圆滑程度,其默认值为20。若n值取的比較小,则绘制出多面体的表面图。

cylinder函数的调用格式为:

[x,y,z]=cylinder(R,n)

当中R是一个向量,存放柱面各个等间隔高度上的半径,n表示在圆柱圆周上有n个间隔点,默认有20个间隔点。如:cylinder(3)生成一个圆柱,cylinder([10,1])生成一个圆锥。而t=0:pi/100:4*pi; R=sin(t); cylinder(R,30);生成一个正弦圆柱面。

另外Matlab还提供了一个peaks函数,称为多峰函数,经常使用于三维曲面的演示。该函数能够用来生成画图数据矩阵,矩阵元素由函数:

在矩形区域[-3 3]×[-3 3]的等分网格点上的函数值确定。如:z=peaks(30)

将生成一个30×30矩阵,

例519 绘制标准三维曲面图形

t=0:pi/20:2*pi;

[x,y,z]=cylinder(2+sin(t),30);

subplot(1,3,1);

surf(x,y,z);

subplot(1,3,2);

[x,y,z]=sphere;

surf(x,y,z);

subplot(1,3,3);

[x,y,z]=peaks(30);

meshz(x,y,z);

3.其它三维图形。

在介绍二维图形时,以前提到条形图、杆图、饼图和填充图等特殊图形,它们还能够以三维形式出现,其函数分别为bar3,stem3,pie3和fill3。

bar3绘制三维条形图,经常使用格式为:

bar3(y);

bar3(x,y)

在第一种格式中,y的每一个元素相应于一个条形。另外一种格式在x指定的位置上绘制y中元素的条形图。

stem3函数绘制离散序列数据的三维杆图,经常使用格式为:

stem3(z)

stem3(x,y,z)

第一种格式将数据序列z表示为从xy平面向上延伸的杆图,x和y自己主动生成。另外一种格式在x和y指定的位置上绘制数据序列z的杆图,x,y,z的维数要同样。

pie3函数绘制三维饼图,经常使用格式为:

pie3(x)

x为向量,用x中的数据绘制一个三维饼图。

fill3函数可在三维空间内绘制出填充过的多边形,经常使用格式为:

fill3(x,y,z,c)

用x,y,z做多边形的顶点,而c指定了填充的颜色。

例520 绘制三维图形。

1绘制魔方阵的三维条形图2以三维杆图形式绘制曲线y=2sinx 3已知x =[2347,1827,2043,3025] ,绘制三维饼图     4用随机的顶点坐标值画出5个黄色三角形

subplot(2,2,1);

bar3(magic(4));

subplot(2,2,2);

y=2*sin(0:pi/10:2*pi);

stem3(y);

subplot(2,2,3);

pie3([2347,1827,2043,3025]);

subplot(2,2,4);

fill3(rand(3,5),rand(3,5),rand(3,5),‘y‘);

除了上面讨论的三维图形外,经常使用的图形还有瀑布图和三维曲面的等高线图。绘制瀑布图用waterfall函数,使用方法和meshz函数类似,仅仅是它的网格线在x轴方向出现,具有瀑布效果。等高线图分二维和三维两种形式,分别使用函数contour和contour3绘制。

例521 绘制多峰函数的瀑布图和等高线图。

subplot(1,2,1);

[X,Y,Z]=peaks(30);

waterfall(X,Y,Z);

xlabel(‘XX‘);ylabel(‘YY‘);zlabel(‘ZZ‘);

subplot(1,2,2);

contour3(X,Y,Z,12,‘k‘);%当中12代表高度的等级数

xlabel(‘XX‘);ylabel(‘YY‘);zlabel(‘ZZ‘);

三.三维图形的精细处理

一.视点处理

在日常生活中,从不同的角度观察物体,所示物体形状是不一样的。相同,从不同视点绘制的三维图形的形状也是不一样的。视点位置可由方位角和仰角表示。

方位角

Matlab提供了设置视点的函数view,其调用格式为:

view(az,el)

当中az为方位角,el为仰角,它们均以度为单位。系统默认的视点定义为方位角为-37.5度,仰角30度。

例522 从不同视点绘制多峰函数曲面。

subplot(2,2,1);mesh(peaks);

view(-37.5,30);

title(‘1‘);

subplot(2,2,2);mesh(peaks);

view(0,90);

title(‘2‘);

subplot(2,2,3);mesh(peaks);

view(90,0);

title(‘3‘);

subplot(2,2,4);mesh(peaks);

view(-7,-10);

title(‘4‘);

二.色彩处理

三.图形的裁剪处理

Matlab定义的NaN常数能够用于表示那些不可使用的数据,利用这些特性,能够将图形中须要裁剪部分相应的函数值设置成NaN,这样在绘制图形时,函数值为NaN的部分将不显示出来,从而达到对图形进行裁剪的目的。比如,要削掉正弦波顶部或底部大于0.5的部分,可使用以下的程序。

x=0:pi/10:4*pi;

y=sin(x);

i=find(abs(y)>0.5);

x(i)=NaN;

plot(x,y);

例524 绘制两个球面,当中一个在还有一个里面,将外面的球裁掉一部分,以便能看到里面的球。

[x,y,z]=sphere(25);

%生成外面的大球

z1=z;

z1(:,1:4)=NaN;%将大球裁去一部分

c1=ones(size(z1));

surf(3*x,3*y,3*z1,c1);       %生成里面的小球

hold on

z2=z;

c2=2*ones(size(z2));

c2(:,1:4)=3*ones(size(c2(:,1:4)));

surf(1.5*x,1.5*y,1.5*z2,c2);

colormap([0 1 0;0.5 0 0;1 0 0]);

grid on

hold off

色图中使用三种颜色,外面的球是绿色,里面的球採用深浅不同的两种红色。

四.隐函数作图

假设给定了函数的显式表达式,能够先设置自变量向量,然后依据表达式计算函数向量,从而用plot等函数绘制出图形。可是当函数採用隐函数形式时,如: ,则非常难利用上述方法绘制图形。Matlab提供了一个ezplot函数绘制隐函数图形。使用方法例如以下:

①     对于函数f=f(x),ezplot的调用格式为:

ezplot(f),在默认区间(-2pi,2pi)绘制图形。

ezplot(f,[a,b]),在区间(a,b)绘制

②     对于隐函数f=f(x,y),ezplot的调用格式为;

ezplot(f),在默认区间(-2pi,2pi),(-2pi,2pi)绘制f(x,y)=0的图形。

ezplot(f,[xmin,xmax,ymin,ymax]);在区间          绘制图形。

ezplot(f,[a,b]),在区间(a,b),(a,b)绘制

③     对于參数方程x=x(t),y=y(t),ezplot函数的调用格式为:

ezplot(x,y),在默认区间 绘制x=x(t),y=y(t)图形。

ezplot(x,y,[tmin,tmax]),在区间(tmin,tmax)绘制x=x(t),y=y(t)图形。

例525 隐函数画图举例。

subplot(2,2,1);

ezplot(‘x^2+y^2-9‘);axis equal;

subplot(2,2,2);

ezplot(‘x^3+y^3-5*x*y+1/5‘)

subplot(2,2,3);

ezplot(‘cos(tan(pi*x))‘,[0,1]);

subplot(2,2,4);

ezplot(‘8*cos(t)‘,‘4*sqrt(2)*sin(t)‘,[0,2*pi]);

其它隐函数画图还有,ezpolar,ezcontour,ezplot3,ezmesh,ezmeshc,ezsurf,ezsurfc。

http://hi.baidu.com/wqccwang/blog/item/ad896634718d441d91ef392e.html

Matlab画图-非常具体,非常全面,布布扣,bubuko.com

时间: 2024-10-06 16:24:05

Matlab画图-非常具体,非常全面的相关文章

Matlab画图,坐标轴范围设置和间隔设置

在Matlab画图的时候,系统默认的坐标轴范围以及间隔有时候并不是很合适,如何根据自己的要求来显示呢,Set语句就可以帮忙咯!! 1. set(gca,'xtick',0:100:2500) 功能: 设置X轴坐标范围0到2500,显示间隔是100: 2.set(gca,'ytick',0:100:2500) 功能: 设置X轴坐标范围0到2500,显示间隔是100: 注意set语句要放在绘图语句后面才起作用! 如下面这个才起作用 plot(x,y) set(gca,'ytick',0:100:25

【Matlab编程】matlab 画图

1.  不用截图工具就可以将图保存成图像格式,并且没有背景颜色:saveas(gcf ,'outputname','png/jpg'),第三项省略时默认为fig.m文件 2.  计算形如(-1)^2/3,应该是默认先算(-1)^(1/3),plot的时候命令窗会警告略去了虚部, 为了避免不必要的麻烦((-1)^2)^1/3这样写,例子如下:这个是代码 clear clc subplot(1,2,1); ezplot('x^2+(y-(x^2)^(1/3))^2-1',[-2,2]); subpl

Matlab画图实现数据可视化

介绍: Matlab作为一种科学计算工具,在对大量数据进行处理运算方面,存在较大的优势:对于大量的数据,很难发现里面的规律,所以在这里特意介绍使用Matlab画图的各个命令,实现数据的可视化: 命令简单介绍: 二维绘图的基本命令由plot.loglog.semilogx.semilogy.polar.它们的使用方法基本是相同的,其不同点是在不同的坐标中绘制图形.plot命令使用线性坐标空间绘制图形:loglog命令在两个对数坐标空间中绘制图形:而semilogx.semilogy命令使用x轴(或

Matlab画图常用

Matlab画图包括标题.标签.图例等,还包括坐标轴的处理,如坐标轴翻转,坐标轴范围改变等. 参考:https://ww2.mathworks.cn/help/matlab/titles-and-labels.html?s_tid=CRUX_lftnav 标题和标签: title title(titleName,Name,Value) %Name属性名,Value属性值.常见属性有:color.fontsize.fontweight.fontname(字体) 创建多行标题: title({'Fi

MATLAB画图自动确定坐标范围(GUI)

今天在用MATLAB做我的毕设的时候碰到一个很纠结的问题,之所以说纠结是因为我觉得这个问题很简单,可是一时半会就是弄不出来(ー`′ー).鼓捣了半个小时左右吧,终于搞出来了.下面做个纪念: 问题描述 在做一个GUI的时候,需要在一个坐标系内画图,想要在图上添加一条直线,直线长度由坐标轴长度自动确定,dont know what to do. 问题解决 前面那些n次失败的尝试我就不说了,太急人了,总之一句话:就是被种种逻辑关系搞晕了-- 正文开始,下面是代码片段, xl = get(handles.

Matlab画图进阶

转自http://blog.sina.com.cn/s/blog_6407cd700101921q.html axes和figure都属于graphics object,用于绘图与图像显示,既然是两种东西,当然两者之间并不是等同的关系,下面将就几个问题进行解释,让大家正确区分这两个概念. 第一:什么是figure? figure的翻译是图像,这个谁都知道,但是在matlab中的figure对象准确意义应该是:matlab软件用于直观性图形输出的窗口个体,这个概念很多人没有. 第二:什么是axes

Matlab画图的输出格式

利用Matlab命令,可以输出.eps, .pdf格式的图形.有时候,在图形窗口直接保存会导致图形不完整,这时,可以用如下命令代替: saveas(p1, 't1.eps'); saveas(p1, 't1.pdf'); 上面的两个命令行可以分别导出.eps和.pdf的合适图形. 但是,.eps图形可能会在tex文档中浮动,此时可以采用.pdf格式.利用adobe acrobat prof. or DC将.pdf格式另存为.ps格式, 然后利用Gsview打开, 用菜单:PS to EPS将它进

解决Matlab画图直接保存.eps格式而导致图不全的问题

Matlab确是一款简单方便的工具,使用此工具绘图也是我们常用的一种手段,可是如果我们想将此图片保存成.eps格式并应用于latex中,就有可能会出现.eps格式的图片显示不全的问题,这个着实让我们头疼.今天,经过查阅资料,发现了一种方法,现将此方法具体化并分享给大家.如果还有更简单的方法,还请赐教~ 首先,打开目标图片(.fig格式),选择左上角的File,点击Print Preview,如图1. 图1 然后,根据图2来调整图片的一些属性.选中圈圈1标记的Layout,圈圈2中的内容是用来调整

MATLAB画图surf函数颜色控制参数c用法

专业今年开了MATLAB的课程(土木工程学MATLAB?),老师给出了保过题,为了不挂科也是苦逼百度+谷歌了半天,加上自己的琢磨,总算是明白些surf颜色控制方法了,在这里分享记录一下~初学matlab,理解的不是太深,望海涵. 题目 从excel中读取粒子,这些粒子具有三维的坐标,xyz,并且具有三维的速度,excel中的每一页内存储一个时间点的例子信息,x,y,z,vx,vy,vz,页的命名为sheet+i,希望能够先读取粒子信息到向量当中,然后粒子的位置进行图像显示,粒子采用球体进行显示,