Plotting
要绘制函数的图形,您需要执行以下步骤 -
通过指定要为其绘制函数的变量x range of values定义x
定义函数, y = f(x)
调用plot命令,如plot(x, y)
以下示例将演示该概念。 让我们绘制简单函数y = x , y = x的值范围从0到100,增量为5。
创建一个脚本文件并键入以下代码 -
x = [0:5:100];
y = x;
plot(x, y)
运行该文件时,MATLAB显示以下图表 -
让我们再举一个例子来绘制函数y = x 2 。 在这个例子中,我们将绘制两个具有相同功能的图形,但在第二次,我们将减少增量的值。 请注意,随着我们减少增量,图表变得更加平滑。
创建一个脚本文件并键入以下代码 -
x = [1 2 3 4 5 6 7 8 9 10];
x = [-100:20:100];
y = x.^2;
plot(x, y)
运行该文件时,MATLAB显示以下图表 -
稍微更改代码文件,将增量减少到5 -
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命令生成方形图。
例子 (Example)
创建一个脚本文件并键入以下代码 -
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生成以下图表 -
在同一图上绘制多个函数
您可以在同一个绘图上绘制多个图形。 以下示例演示了该概念 -
例子 (Example)
创建一个脚本文件并键入以下代码 -
x = [0 : 0.01: 10];
y = sin(x);
g = cos(x);
plot(x, y, x, g, '.-'), legend('Sin(x)', 'Cos(x)')
MATLAB生成以下图表 -
在图表上设置颜色
MATLAB为绘制图形提供了八种基本颜色选项。 下表显示了颜色及其代码 -
码 | 颜色 |
---|---|
w | White |
k | Black |
b | Blue |
r | Red |
c | Cyan |
g | Green |
m | Magenta |
y | Yellow |
例子 (Example)
让我们绘制两个多项式的图
f(x)= 3x 4 + 2x 3 + 7x 2 + 2x + 9和
g(x)= 5x 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命令允许您设置轴刻度。 您可以使用axis命令以下列方式为x和y轴提供最小值和最大值 -
axis ( [xmin xmax ymin ymax] )
以下示例显示了这一点 -
例子 (Example)
创建一个脚本文件并键入以下代码 -
x = [0 : 0.01: 10];
y = exp(-x).* sin(2*x + 3);
plot(x, y), axis([0 10 -1 1])
运行该文件时,MATLAB会生成以下图表 -
Generating Sub-Plots
在同一图中创建绘图数组时,每个绘图都称为子绘图。 subplot命令用于创建子图。
该命令的语法是 -
subplot(m, n, p)
其中, m和n是绘图数组的行数和列数, p指定放置特定绘图的位置。
使用subplot命令创建的每个绘图都可以具有自己的特征。 以下示例演示了这一概念 -
例子 (Example)
让我们生成两个图 -
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会生成以下图表 -