打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何在一个窗口绘制多个图形?(图中的多个图:子图)

9.1.5图中的多个图:子图

在MATLAB中,可以使用subplot函数创建一个包含多个子图的图形。subplot函数的基本语法为:

subplot(m,n,p)

其中,m和n分别表示子图排列的行数和列数,p表示当前子图在排列中的位置(从左往右,从上往下,从1开始编号)。

下面举一个例子来说明如何使用subplot函数创建包含多个子图的图形。假设我们想要在同一个图形窗口中画出正弦函数和余弦函数的图像,可以使用以下代码:

x = linspace(0, 2*pi, 100);
y1 = sin(x);
y2 = cos(x);

subplot(2,1,1);
plot(x, y1);
title('Sin');

subplot(2,1,2);
plot(x, y2);
title('Cos');

这段代码会创建一个包含两个子图的图形,其中第一个子图显示正弦函数的图像,第二个子图显示余弦函数的图像。在每个子图中,我们使用title函数添加了一个标题。


子图基本用法

  1. 使用 subplot 函数定义子图的布局和位置。
  2. 在每个子图内使用绘图函数(如 plotscatter 等)绘制具体的图形。

语法

subplot(m, n, p)
  • m 是子图的行数。
  • n 是子图的列数。
  • p 是当前子图的位置。

举例说明: 假设我们想在一个图窗中创建 2x2 的子图,分别展示不同函数的图形。以下是一个示例代码:

% 创建一个新的图窗,定义 2x2 的子图布局
figure;
subplot(221);  % 第一个子图
x = linspace(02*pi100);
y = sin(x);
plot(x, y);
title('sin(x)');

subplot(222);  % 第二个子图
x = linspace(-55100);
y = x.^2;
plot(x, y);
title('x^2');

subplot(223);  % 第三个子图
x = linspace(-1010100);
y = exp(-0.2*x).*cos(x);
plot(x, y);
title('exp(-0.2*x)*cos(x)');

subplot(224);  % 第四个子图
x = linspace(-11100);
y = tanh(x);
plot(x, y);
title('tanh(x)');

在这个例子中,我们创建了一个新的图窗,并使用 subplot 函数将图窗分为 2 行 2 列的子图布局。然后,在每个子图中使用不同的函数绘制了不同的图形,并使用 title 函数给每个子图添加标题。

通过使用子图,我们可以在一个图窗中同时展示多个相关的图形,从而方便进行对比和分析。你可以根据需要调整子图的布局和位置,并在每个子图中绘制适合的图形。

再看一个明显的例子(来自教材):

 [x, y] = meshgrid(-3:0.3:3);
z=x.* exp(-x.^2 - y.^2);
subplot(2,2,1)
mesh(z),title('subplot(2,2,1)')
subplot(2,2,2)
mesh(z)
view(-37.5,70),title('subplot(2,2,2)')
subplot(2,2,3)
mesh(z)
view(37.5,-10),title('subplot(2,2,3)')
% 用 view(37.5,-10) 函数调整了第三个子图的视角。其中,第一个参数 37.5 表示观察者相对于 x-y 平面的旋转角度,-10 表示观察者相对于 x-z 平面的旋转角度。
subplot(2,2,4)
mesh(z)
view(0,0),title('subplot(2,2,4)')
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
matlab画图命令积累
Matlab绘制箭头坐标轴图形
6、MATLAB图形功能
Matlab plot 用法
MATLAB作图
重新学习MATLAB——作图技法及3D可视化
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服