MATLAB 绘图
要绘制函数的图形,您需要按照以下步骤进行操作−
- 定义 x ,通过指定变量 x 的取值范围来绘制函数
-
定义函数 y = f(x)
-
调用 plot 命令,即 plot(x, y)
以下示例将演示这个概念。我们绘制简单的函数 y = x ,其中x的取值范围为0到100,增加步长为5。
创建一个脚本文件并输入以下代码−
x = [0:5:100];
y = x;
plot(x, y)
当你运行文件时,MATLAB会显示以下图形:
让我们再举一个例子来绘制函数 y = x2。在这个例子中,我们将绘制两个具有相同函数的图形,但是第二次我们将减小增量的值。请注意,随着增量的减小,图形变得更加平滑。
创建一个脚本文件,输入以下代码 –
x = [1 2 3 4 5 6 7 8 9 10];
x = [-100:20:100];
y = x.^2;
plot(x, y)
当你运行文件时,MATLAB将显示以下图形-
x = [-100:5:100];
y = x.^2;
plot(x, y)
MATLAB绘制了一个更平滑的图形 –
在图表上添加标题、标签、网格线和缩放
MATLAB允许您在图表上添加标题、x轴和y轴标签、网格线,并且调整轴以美化图表。
- xlabel 和 ylabel 命令生成沿x轴和y轴的标签。
-
title 命令允许您添加图表标题。
-
grid on 命令允许您在图表上添加网格线。
-
axis equal 命令允许以相同的比例因子和空间在两个轴上生成绘图。
-
axis square 命令生成一个正方形图。
示例
创建一个脚本文件,输入以下代码:
x = [0:0.01:10];
y = sin(x);
plot(x, y), xlabel('x'), ylabel('Sin(x)'), title('Sin(x) Graph'),
grid on, axis equal
MATLAB生成以下图形 –
在同一张图上绘制多个函数
您可以在同一张图上绘制多个函数。下面的例子演示了这个概念-
示例
创建一个脚本文件,然后输入以下代码-
x = [0 : 0.01: 10];
y = sin(x);
g = cos(x);
plot(x, y, x, g, '.-'), legend('Sin(x)', 'Cos(x)')
MATLAB生成以下图表−
设置图表颜色
MATLAB提供了8种基本的颜色选项来绘制图表。以下表格显示了颜色及其代码:
Code | Color |
---|---|
w | White |
k | Black |
b | Blue |
r | Red |
c | Cyan |
g | Green |
m | Magenta |
y | Yellow |
示例
让我们绘制两个多项式的图像
- f(x) = 3×4 + 2×3 + 7×2 + 2x + 9
-
g(x) = 5×3 + 9x + 2
创建一个脚本文件,输入以下代码:
x = [-10 : 0.01: 10];
y = 3*x.^4 + 2 * x.^3 + 7 * x.^2 + 2 * x + 9;
g = 5 * x.^3 + 9 * x + 2;
plot(x, y, 'r', x, g, 'g')
当您运行文件时,MATLAB会生成以下图形−
设置坐标轴刻度
axis命令允许您设置坐标轴刻度。您可以使用以下方式在x轴和y轴上提供最小和最大值来使用axis命令-
axis ( [xmin xmax ymin ymax] )
以下示例显示了这个:
示例
创建一个脚本文件,然后输入以下代码:
x = [0 : 0.01: 10];
y = exp(-x).* sin(2*x + 3);
plot(x, y), axis([0 10 -1 1])
当你运行这个文件时,MATLAB会生成以下图形 –
生成子图
当您在同一图中创建一个图数组时,每个图被称为子图。 subplot 命令用于创建子图。
命令的语法为 –
subplot(m, n, p)
其中, m 和 n 是绘图数组的行数和列数,而 p 指定将特定绘图放置在哪里。
使用subplot命令创建的每个绘图都可以有自己的特点。下面的示例演示了这个概念 –
示例
让我们生成两个绘图 –
y = e −1.5x sin(10x)
y = e −2x sin(10x)
创建一个脚本文件,并键入以下代码 –
x = [0:0.01:5];
y = exp(-1.5*x).*sin(10*x);
subplot(1,2,1)
plot(x,y), xlabel('x'),ylabel('exp(–1.5x)*sin(10x)'),axis([0 5 -1 1])
y = exp(-2*x).*sin(10*x);
subplot(1,2,2)
plot(x,y),xlabel('x'),ylabel('exp(–2x)*sin(10x)'),axis([0 5 -1 1])
当您运行该文件时,MATLAB生成以下图形−