在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函数添加了一个标题。
子图基本用法:
subplot
函数定义子图的布局和位置。plot
、scatter
等)绘制具体的图形。语法:
subplot(m, n, p)
m
是子图的行数。n
是子图的列数。p
是当前子图的位置。举例说明: 假设我们想在一个图窗中创建 2x2 的子图,分别展示不同函数的图形。以下是一个示例代码:
% 创建一个新的图窗,定义 2x2 的子图布局
figure;
subplot(2, 2, 1); % 第一个子图
x = linspace(0, 2*pi, 100);
y = sin(x);
plot(x, y);
title('sin(x)');
subplot(2, 2, 2); % 第二个子图
x = linspace(-5, 5, 100);
y = x.^2;
plot(x, y);
title('x^2');
subplot(2, 2, 3); % 第三个子图
x = linspace(-10, 10, 100);
y = exp(-0.2*x).*cos(x);
plot(x, y);
title('exp(-0.2*x)*cos(x)');
subplot(2, 2, 4); % 第四个子图
x = linspace(-1, 1, 100);
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)')
联系客服