MATLAB使用速成 第三章(MATLAB绘图)

发布于:2024-04-19 ⋅ 阅读:(36) ⋅ 点赞:(0)

一、二维平面作图

1、简单的x-y坐标图

        x、y是长度相同的向量,以x的分量为横坐标,y的分量为纵坐标,作平面曲线,使用命令plot(x,y)。(可以省略参数x,这样将会以y的分量下标为横坐标,y的分量为纵坐标,绘制向量y的线性图)

2、含多条曲线的x-y坐标图

(1)对于命令plot(x,A),x是向量,A是矩阵,若x的长度与A的行数相等,则将x与A中的各列相对应,绘制多条平面曲线;否则,若x的长度与A的列数相等,则将x与A中的各行相对应,绘制多条平面曲线。(x的长度必须等于A的行数或列数)

(2)对于命令plot(x1,y1, x2,y2, ...),其中所有参数都是矢量,那么从x1和y1开始将会两两配对(配对的矢量需要有相同的元素个数),分别为每一对矢量绘制平面曲线。(不止plot命令有这种用法,可在输入命令后关注MATLAB弹出的参数提示)

(3)每次使用plot命令或其它绘图命令时,新图象都会将图形窗口中原本的旧图象覆盖掉,如果不希望旧图象丢失,又想在旧图象的基础上画新图象,可以使用hold on命令关闭自动覆盖(hold off命令则是打开自动覆盖)。

3、复平面作图

(1)对于命令plot(x),如果x是一个复数矢量,则将x各元素的实部作为横坐标,虚部作为纵坐标,绘制一条平面曲线。

(2)对于命令plot(x),如果x是一个复数矩阵,则对于矩阵的每一列都有其对应的平面曲线,将每一列中的元素实部作为横坐标,虚部作为纵坐标,进行绘图。

4、指定图形的属性

(1)指定点和线属性的命令——plot(x,y,str),这里的str是用单引号括起来的字符串,用来指定图形的点、线的形状和颜色(颜色、线型、点标记可以全部指定,也可以部分指定,顺序任意)。

线型

点标记

颜色

-   实线

:   虚线

-.  点划线

--  间断线

空白(不画线)

.   

o   小圆圈

x   叉子符

+   加号

*   星号

s   方格

d   菱形

^   朝上三角

v   朝下三角

>   朝右三角

<   朝左三角

p   五角星

h   六角星

y   黄色

m   洋红/magenta

c   青色/cyan

r   红色

g   绿色

b   蓝色

w   白色

k   黑色

(2)图形的属性还有线条的粗细、字体大小、坐标轴属性等,linewidth用于指定线条的粗细(参数为实数),markeredgecolor用于指定标记的边缘色,markerfacecolor用于指定标记表面的颜色。

(3)在命令plot(x1,y1, x2,y2, ...)的基础上,可为每条曲线分别设置图形属性,命令格式为plot(x1,y1,str1, x2,y2,str2, ...)。(不止plot命令有这种用法,可在输入绘图命令后关注MATLAB弹出的参数提示)

5、在平面图上添加说明

(1)添加标题:

①使用命令title('text')可在坐标图上方添加文本“text”。

②所添加的文本也可指定属性,具体命令格式为title('text', 'Property1', value1, 'Property2', value2, ...),其中可供指定的属性(Property)有字体大小(fontsize)、字体灰度(fontweight)、字形名(fontname)等。

(2)添加坐标轴标注:

①使用命令xlabel('text')可为坐标图的x轴添加标注“text”。(可以指定文本属性)

②使用命令ylabel('text')可为坐标图的y轴添加标注“text”。(可以指定文本属性)

(3)添加图例:使用命令legend(str1,str2, ...)即可为各条曲线分别添加图例。

(4)在任何指定的地方添加文本:

①使用命令text(x,y,string),可指定在图中以x为横坐标、y为纵坐标的位置添加文本。(可以指定文本属性)

②使用命令gtext(string),命令执行后,在图中会显示一个十字准线,按任意键或单击鼠标,文本就会添加到准线所在的位置。(可以指定文本属性)

6、坐标轴控制

(1)使用命令axis([xmin, xmax, ymin, ymax])可控制坐标轴的显示范围。

(2)axis的其它调用方式:

①axis auto:自动模式,使得图形的坐标满足图中的一切元素。

②axis equal:各坐标轴采用等长刻度。

③axis square:使绘图区域为正方形。

④axis on/off:恢复/取消对坐标轴的一切设置(显示/不显示坐标轴)。

⑤axis manual:以当前的坐标限制图形的绘制(应用于多图时)。

7、其它常用二维图

(1)极坐标绘图命令——polar(theta,r),以theta为极角,r为极径作极坐标图。

(2)按指数规律变化的数据可用对数坐标表示,这时可画对数图。

①semilogx(x,y)——创建单对数坐标图,x轴为对数坐标,y轴为线性坐标。

②semilogy(x,y)——创建单对数坐标图,x轴为线性坐标,y轴为对数坐标。

③loglog(x,y)——创建双对数坐标图,x轴、y轴均为对数坐标。

(3)双y轴图——将两个二维曲线输出到同一坐标图中,它们共用同一个x轴,但有各自的y轴,可使用命令plotyy(x1,y1,x2,y2,function)对其进行绘制,其中function是指定的绘图函数,可取plot(默认)、semilogx、semilogy、loglog等(function需要用单引号包含)。

(4)二维函数绘图——给定一个函数和定义域,画出其函数图像,可使用命令fplot(f(x),[a,b,c,d])绘制f (x)在区域a < x < b、c < y < d上的图形(c、d是值域的上下界,可省略;f(x)需要用单引号包含)。

(5)使用命令grid on可以在图象上显示网格(使用命令grid off则关闭网格的显示)。

二、三维空间作图

1、三维曲线

        设三维曲线的参数方程为x=x(t)、y=y(t)、z=z(t),则其图形可由命令plot3(x,y,z)绘出。(实际上plot3和plot的用法非常相似,无非就是多了一个维度)

2、三维曲面

(1)命令mesh(X,Y,Z)可绘制由矩阵X、Y、Z所确定的曲面的网格图。

(2)“[X,Y]=meshgrid(x,y)”中的meshgrid是网格生成函数,x、y是分别对x取值区域和y取值区域进行分割后得到的向量(x、y向量的元素个数可以不同),X、Y即为我们所需要的网格矩阵。若y = x,则可简写为“[X, Y]=meshgrid(x)”。

(3)meshc函数的使用方法和mesh相同,不同的是meshc在mesh绘图的基础上增加了等高线;meshz函数的使用方法也和mesh相同,不同的是meshz在mesh绘图的基础上增加了屏蔽面。

(4)mesh的两种绘图方式(同样适用于其它曲面作图函数):

①显式方程绘图:z=z(x,y)\: \: \: \: a\leq x\leq b,c\leq y\leq d

x=a:h1:b; y=c:h2:d;      % 区域划分

[X,Y]=meshgrid(x,y);    % 生成网格

Z=z(X,Y);                     % 计算网格上的函数值(二维平面→三维曲面)

mesh(X,Y,Z);                % 调用绘图命令

②参数方程绘图:x=x(u,v),y=y(u,v),z=z(u,v)\: \: \: \: a\leq u\leq b,c\leq v\leq d

u=a:h1:b; v=c:h2:d;                       % 区域划分

[U,V]=meshgrid(u,v);                     % 生成网格

X=x(U,V); Y=y(U,V); Z=z(U,V);      % 计算函数值

mesh(X,Y,Z);                               % 调用绘图命令

(5)空间曲面其它作图命令:

①surf(X,Y,Z):绘制带颜色的表面图,参数含义同mesh。

②sphere(n):绘制单位球面,n代表网格的数量(若不给出n,则n默认为20)。

③contour(X,Y,Z):绘制由矩阵X、Y、Z所确定的等高线。

④pcolor(X,Y,Z):绘制由矩阵X、Y、Z所确定的伪色图(带栅格的二维阴影图)。

3、坐标轴控制

(1)使用命令axis([xmin,xmax, ymin,ymax, zmin,zmax])可控制坐标轴的显示范围。

(2)axis的其它调用方式:

①axis auto:自动模式,使得图形的坐标满足图中的一切元素。

②axis equal:各坐标轴采用等长刻度。

③axis square:使绘图区域为正方形。

④axis on/off:恢复/取消对坐标轴的一切设置(显示/不显示坐标轴)。

⑤axis manual:以当前的坐标限制图形的绘制(应用于多图时)。

三、符号作图

1、二维曲线符号绘图

(1)指定绘图区间(f(x)等函数表达式需要用单引号包含):

(2)不指定绘图区间(f(x)等函数表达式需要用单引号包含):

2、空间曲线符号作图

3、空间曲面符号绘图

(1)绘制网格图:

①显式方程绘图(函数表达式需要用单引号包含):

②参数方程绘图(函数表达式需要用单引号包含):

(2)绘制表面图:

①显式方程绘图(函数表达式需要用单引号包含):

②参数方程绘图(函数表达式需要用单引号包含):

四、划分绘图窗口

        subplot(m,n,p)命令可将一个绘图窗口分割成m×n个子区域,并按行从左至右依次编号,p表示第p个绘图子区域。每次执行该命令后,下一次绘图都会在第p个绘图子区域进行。