编辑这个页面须要登录或更高权限!

MATLAB 绘图(Plot)

要绘制函数的图形,需要执行以下步骤:

  • 通过指定变量 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 = x

让我们再举一个实例来绘制函数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显示以下图-

绘制y = x ^ 2

稍微更改代码文件,将增量减少到5-

x = [-100:5:100];
y = x.^2;
plot(x, y)

MATLAB绘制更平滑的图形-

以较小的增量绘制y = x ^ 2

在图形上添加标题,标签,网格线和缩放

MATLAB 允许您添加标题、沿 x 轴和 y 轴的标签、网格线,并且还可以调整轴以使图形更漂亮。

  • xlabelylabel 命令产生沿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提供了八种基本的颜色选项来绘制图形。下表显示了颜色及其代码-

代码颜色
w白色
k黑色
b蓝色
r红色
c青色
g绿色
m洋红色
y黄色

实例

让我们画出两个多项式的图

  • 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] )

以下示例显示了这一点-

实例

创建一个脚本文件并输入以下代码-

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)

其中,mn是绘图数组的行数和列数,而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生成以下图形-

生成子图