专题四:MATLAB绘图

本文详细介绍了MATLAB的图形绘制功能,包括二维曲线的plot()和fplot()函数,以及三维曲线的plot3()和fplot3()函数。此外,还讲解了如何使用mesh()和surf()函数绘制三维曲面,以及交互式绘图工具的使用。文章涵盖了颜色、坐标控制、图形标注等图形修饰处理,并提供了多种特殊坐标系和统计图形的绘制方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

专题四:MATLAB绘图

4-1二维曲线

1.plot()函数

用于绘制平面上的线型坐标曲线
plot()函数参数xy一般为长度相等的向量。
(1)plot函数的基本用法
plot(x,y)其中x和y分别用于存储x坐标和y坐标数据。
plot函数
(2)最简单的plot函数调用格式
plot(x)
· 当x为一个向量时,横坐标为x的下标,纵坐标为x向量元素的值。
· 当x为复数向量时,横坐标为实部,纵坐标为虚部。
(3)plot(x,y)函数参数的变化形式
a. 当x是向量,y是矩阵时。
· 如果矩阵y的列数等于x的长度,则以向量x为横坐标,以y的每个行向量为纵坐标绘制曲线,曲线的条数等于y的行数。
· 如果矩阵y的行数等于x的长度,则以向量x为横坐标,以y的每个列向量为纵坐标绘制曲线,曲线的条数等于y的列数。
b. 当x,y是同型矩阵时。以x,y对应列元素为横坐标,纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
plot
(4)含多个输入参数的plot函数
plot(x1,y1,x2,y2,...,xn,yn) 其中每一向量对构成一组数据点的横、纵坐标,绘制一条曲线。
多参数plot
(5)含选项的plot函数
plot(x,y,选项)
线性:“-”实线;“:”虚线;“-.”点画线;“- -”双画线。
颜色:“r”红色;“g”绿色;“b”蓝色;"w"白色;“k”黑色。
数据点标记:“*”星号;“o”圆圈;“s”方块;“p五角星”;“^”向上三角符。
plot选项

2.fplot()函数

当函数随着自变量变化趋势未知,在不同区间函数频率特性差别大。plot函数无法反应函数变化特性。
(1)fplot()函数的基本用法
fplot(f,lims,选项)
其中f代表一个函数,通常采用函数句柄的形式。
lims为x轴的取值范围,用二元向量[xmin,xmax]描述,默认值为[-5,5]。
选项定义与plot函数相同。
fplot
(2)双输入函数参数的用法
fplot(funx,funy,tlims,选项)
其中funx,funy代表函数,通常采用函数句柄的形式。
tlims为参数函数funx和funy的自变量的取值范围,用二元向量[tmin,tmax]描述。
双输入参数

4-2绘制图形的辅助操作

1.给图形添加标注

(1)title函数
a.title(图形标题)
title
标题多行时,用花括号括起来,逗号分隔。
b. 在图形标题中使用LaTeX格式控制符LaTeX
“\bf”:加粗;“\it”:斜体;“rm”:正体。
\geq大于等于,\leq小于等于。
c. 含属性设置的title()函数。
title(图形标题,属性名,属性值)
Color属性:用于设置图形标题文本的颜色。
>>title('y=cos{\omega}t','Color','r')
FontSize属性:用于设置标题文字的字号。
>>title('y=cos{\omega}t','FontSize',24)
(2)xlabel()函数与ylabel()函数
xlabel(x轴说明)
ylabel(y轴说明)
(3)text()函数与gtext()函数
text(x,y,图形说明):xy为文本出现位置
gtext(图形说明):说明根据鼠标光标移动,点击即可放置
(4)legend()函数
legend(图例1,图例2,...)
legend

2.坐标控制

定义坐标系,按照坐标轴范围。
(1)axis()函数
axis([xmin,xmax,ymin,ymax,zmin,zmax])

axis equal :纵横坐标轴采用等长刻度
axis square :产生正方形坐标系(默认为矩形)
axis auto :使用默认设置
axis off :取消坐标轴
axis on :显示坐标轴

(2)给坐标系加网格和边框

grid on :显示网格线
grid off :不显示网格线
grid :在两种状态中切换
box on :边框线
box off :不显示边框线
box : 在两种状态中切换

坐标控制

3.图形保持

hold on :控制保持原有图形
hold off :控制刷新图形窗口
hold :两种状态中切换

图形保持

4.图形窗口的分割

· 子图:同一图形窗口中的不同坐标系下的图形称为子图。
· subplot()函数
subplot(m,n,p) 其中m和n指定将图形窗口分成m*n个绘图区,p指定当前活动区。m行n列,区号按行编号
分隔窗口

4-3其他形式的二维图形

1.其他坐标系下的二维曲线图

(1)对数坐标图

semilogx(x1,y1,选项1,x1,y2,选项2,...):使用半对数坐标,x为常用对数刻度,y仍保持线性刻度
semilogy(x1,y1,选项1,x1,y2,选项2,...):使用半对数坐标,y为常用对数刻度,x仍保持线性刻度
loglog(x1,y1,选项1,x1,y2,选项2,...):使用全对数刻度

对数坐标图
(2)极坐标图
polar(theta,rho,选项) 其中theta为极角,rho为极径,选项内容与plot函数相同。
极坐标

2.统计图

(1)条形图
bar()函数:绘制二维垂直图形。
barh()函数:绘制二维水平图形。
bar(y,style) 其中参数y是数据,选项style用于指定分组排列模式。
若y为向量,则分别以每一个元素的值作为矩形条的高度,以对应元素的下标作为横坐标。
若y为矩阵,则每一行为一组,单独为每一组绘制图形。
style默认为簇状分组:“grouped”,也可选堆积分组:“stacked”。
条形图
bar(x,y,style) 其中x存储横坐标,y存储数据。
x是一个向量,y是一个矩阵。矩阵的行数与向量的长度相等。
bar
(2)直方图
· hist()函数:绘制直角坐标系下的直方图。
hist(y) 通常参数y是向量,将y中的最小值与最大值中间的部分等分,并统计落在每个区间元素的个数。然后以元素个数为高度绘制直方图。
hist(y,x) 其中参数y是要统计的数据,x用于指定区间的划分方式。若x是标量,则统计区间均分为x个小区间。若x是向量,则x中的每一个数指定分组的中心值。x缺省默认按10个等分。
hist直方图
· rose()函数:绘制极坐标系下的直方图。
rose(theta,x) 其中参数theta是一个向量。用于确定每一个区间与原点的角度,绘图时将圆划分为角度相同的扇形区域,每一个扇形的高度显示落入该区间的theta元素的个数。
选项x用于指定区间的划分方式。若x是标量,则0-2pi均匀划分为x个扇形区域。x缺省按20个等分区间。
rose
(3)饼图
pie()函数:反应各个分量在总数中的比重。
area()函数:多个数据系列累计变化的趋势。
pie(x,ecplode) 其中参数x存储待统计数据,选项explode控制图块的显示模式。

  • 通常x为向量。绘图时x的每一个元素对应一个扇形。每个扇形的角度代表在整体中所占比重。
  • 与参数explode的非零值对应的部分将从饼图中分离出来。
  • explode是一个与x同等大小的向量。缺省则饼图为一个整体。
    在这里插入图片描述
    (4)散点图
    scatter()函数:散点图
    stairs()函数:阶梯图
    stem()函数:杆图
    scatter(x,y,选项,'filled') 参数x,y用于定位数据点,一般为两个大小相同的向量。选项用于指定线型、颜色、数据点标记符号。标记符号默认空心,filled填充标记点。
    散点图

3.矢量图形

compass()函数:罗盘图
feather()函数:羽毛图
quiver()函数:箭头图
quiver(x,y,u,v) 其中(x,y)指定矢量起点,(u,v)指定矢量终点。
(x,y)和(u,v)是同样大小的向量,或同型矩阵。若省略(x,y)则在xy平面均匀取若干个点作为起点。
矢量图

4-4三维曲线

1.plot3()函数

(1)plot3()函数基本用法
plot3(x,y,z) 其中参数x,y,z组成一组曲线的坐标。x,y,z为长度相同的向量。
绘制空间折线
绘制螺旋线
(2)plot3()函数参数的变化形式
plot3(x,y,z)

  • 参数x,y,z是同型矩阵时。则以x,y,z对应列元素绘制曲线。曲线条数等于矩阵列数。
  • 当参数x,y,z中有向量,也有矩阵时。向量的长度应与矩阵相符,行向量长度与矩阵的列数相同;列向量的长度与矩阵的行数相同。plot3
    (3)含多组输入参数的plot3()函数
    绘制不同长度的多条曲线时,则采用包含若干组向量对的形式。
    plot3(x1,y1,z1,x2,y2,z2,...,xn,yn,zn) 每一组x,y,z向量构成一组数据点的坐标,绘制一条曲线。n组向量绘制n条曲线。
    (4)含选项的plot3()函数
    plot3(x,y,z,选项) 选项用于指定曲线的线型,颜色和数据点标记。
    选项plot3

2.fplot3()函数

如果曲线参数x,y,z用参数方程定义,且参数方程只有一个自变量。
fplot3(funx,funy,funz,tlims,选项) 其中funx,funy,funz代表定义曲线x,y,z坐标的参数,通常采用函数句柄的形式。
tlims为参数函数自变量的取值范围,用二元向量[tmin,tmax]描述,默认为[-5,5]。
选项与plot相同,颜色,线型,数据点标记。
fplot3()
绘图

4-5三维曲面

1.平面网格数据的生成

(1)利用矩阵运算生成
网格
(2)利用meshgrid()函数生成
[X,Y]=meshgrid(x,y); 其中参数x,y为向量,存储网格点坐标的X,Y为矩阵。

>>x = 2:6;
>>y = (3,8)';
>>[X,Y] = meshgrid(x,y);

2.绘制三维曲面的mesh()函数和surf()函数

mesh(x,y,z,c) 用于绘制三维网格图,一般的x,y,z是同型矩阵。其中,x,y是网格坐标矩阵,z是网格点上的高度矩阵。c用于指定在不同高度下的曲面颜色。
surf(x,y,z,c) 用于绘制三维曲面图
mesh

  • mesh()函数和surf()函数的其他调用格式:
    mesh(z,c)
    surf(z,c)
    当x,y省略时,z矩阵的第2维下标当做x轴坐标,z矩阵的第1维下标当做y轴坐标。
  • 带等高线的三维网格曲面函数meshc()
  • 带底座的三维网格曲面函数meshz()
  • 具有等高线的曲面函数surfc()
  • 具有光照效果的曲面函数surfl()
    绘制函数

3.标准三维曲面

(1)sphere()函数绘制三维球面
[x,y,z]=sphere(n) 产生3个n+1阶的方阵,绘制圆心为原点,半径为1的单位球面。若不带输出参数,则直接绘制球面。
参数n决定了球面的圆滑程度,默认为20。若n较小,则绘制多面体。
(2)cylinder()函数绘制三维柱面
[x,y,z]=sylinder(R,n) 参数R是一个向量,存放柱面各个等间隔高度上的半径,n表示 在圆柱圆周上有n个间隔点。默认为20。
若R是一个标量,则生成一个圆柱面。
clinder
在这里插入图片描述
(3)peaks()函数
多峰函数:多峰函数

  • peaks()函数调用格式:
    peaks(n):n为标量,生成n阶方阵
    peaks(V):参数为网格矩阵,则带入表达式,计算高度矩阵。
    peaks(x,y):参数为向量,则带入表达式,计算高度矩阵。
    peaks不带参数,则默认为48,生成49阶方阵,
    peaks函数可以作为mesh,surf的参数,绘制多峰函数曲面图。

4.fmesh()函数和fsurf()函数

如果图形由3个参数方程定义,参数方程有两个自变量。
fsurf(funx,funy,funz,uvlims)
fmesh(funx,funy,funz,uvlims)
其中,funx,funy,funz代表定义曲面x,y,z坐标的函数,通常采用函数句柄的形式。
uvlims为funx,funy,funz的自变量取值范围,用4元向量[umin,umax,vmin,vmax]描述,默认值为[-5,5,-5,5]
fmesh

4-6图形修饰处理

1.视点处理

方位角 视点与原点的连线,在xy平面的投影与y轴负方向的夹角,正值表示逆时针,负值表示顺时针。
仰角 视角,视点与原点的连线,与xy平面的夹角。
(1)view()函数的基本用法
view(az,el) 其中az为方位角,el为仰角。以度°为单位,默认方位角-37.5°,仰角30°。
view
(2)view()函数的其他用法
view(x,y,z) x,y,z为视点在笛卡尔坐标中的位置。
view(2) 2设置从二维平面观察图形,方位角0°,仰角90°。
view(3) 3设置从三维空间观察图形,视点使用默认。

2.色彩处理

(1)颜色的向量表示
[R G B ] :红 绿 蓝。
[0 0 1]:蓝色;[1 0 0]:红色;[0 1 0]:绿色;[1 1 1]:白色;[0 0 0]:黑色。
(2)色图(Colormap)
色图

  • 指定当前图形使用的颜色
    colormap cmapname
    colormap(cmap)
  • 创建色图矩阵
    色图矩阵的每一行是RGB三元组。可以自定义色图矩阵,也可以调用MATLAB提供的函数来定义色图矩阵
    在这里插入图片描述
    (3)三维图形表面的着色
    shading facted :将每个网格片永其高度对应的颜色,网格线是黑色。
    shading flat:将每个网格片用同一种颜色进行着色,且网格线也用对应的颜色。
    shading interp:在网格片内采用颜色插值处理。
    在这里插入图片描述

3.裁剪处理

将图形找给你需要裁减部分对应的函数值设置为NaN,绘制图形时,函数值为NaN的部分将不显示出来,从而达到对图形进行裁减的目的。
NaN

4-7交互式绘图工具

1."绘图"选项卡
2.图形窗口绘图工具
(1)显示绘图工具

  • 工具栏最右侧“显示绘图工具和停靠图形”按钮。
  • 命令窗口中输入命令
    >> plottools

(2)绘图工具的组成

  • 图形选项板
  • 绘图浏览器
  • 属性编辑器

3.图形窗口菜单和工具栏



绘制二维曲线的函数:plot()fplot()
绘制三维曲线的函数:plot3()fplot3()
绘制三维曲面的函数:mesh()surf()fmesh()fsurf()

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值