MATLAB - 图形

本章将继续探索 MATLAB 的绘图和图形功能。 我们会讨论 −

  • 绘制条形图
  • 绘制等高线
  • 三维图

绘制条形图

bar命令绘制二维条形图。 让我们举一个例子来演示这个想法。

示例

让我们想象一个有 10 名学生的教室。 我们知道这些学生获得的分数百分比为 75、58、90、87、50、85、92、75、60 和 95。我们将为这些数据绘制条形图。

创建脚本文件并输入以下代码 −

x = [1:10];
y = [75, 58, 90, 87, 50, 85, 92, 75, 60, 95];
bar(x,y), xlabel('Student'),ylabel('Score'),
title('First Sem:')
print -deps graph.eps

运行该文件时,MATLAB 将显示以下条形图 −

绘制条形图

绘制等高线

二变量函数的等高线是函数具有恒定值的曲线。 等高线用于通过连接给定水平(例如平均海平面)以上相同海拔的点来创建等高线图。

MATLAB 提供了一个contour 函数来绘制等高线图。

示例

让我们生成一个等高线图,显示给定函数 g = f(x, y) 的等高线。 该函数有两个变量。 因此,我们必须生成两个自变量,即两个数据集 x 和 y。 这是通过调用 meshgrid 命令来完成的。

meshgrid 命令用于生成元素矩阵,给出 x 和 y 的范围以及每种情况下增量的规范。

让我们绘制函数 g = f(x, y),其中 −5 ≤ x ≤ 5,−3 ≤ y ≤ 3。让我们将这两个值都增加 0.1。 变量设置为−

[x,y] = meshgrid(–5:0.1:5, –3:0.1:3);

最后,我们需要分配函数。 让我们的函数为:x2 + y2

创建脚本文件并输入以下代码 −

[x,y] = meshgrid(-5:0.1:5,-3:0.1:3);   % 自变量
g = x.^2 + y.^2;                       % 我们的函数
contour(x,y,g)                         % 调用contour函数
print -deps graph.eps

运行该文件时,MATLAB 将显示以下等高线图 −

Matlab 中的等高线图

让我们稍微修改一下代码来修饰地图

[x,y] = meshgrid(-5:0.1:5,-3:0.1:3);   % 自变量
g = x.^2 + y.^2;                       % 我们的函数
[C, h] = contour(x,y,g);               % 调用contour函数
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)
print -deps graph.eps

运行该文件时,MATLAB 将显示以下等高线图 −

漂亮的等高线图

三维图

三维图基本上显示由两个变量的函数 g = f (x,y) 定义的表面。

与之前一样,为了定义 g,我们首先使用 meshgrid 命令在函数域上创建一组 (x,y) 点。 接下来,我们分配函数本身。 最后,我们使用 surf 命令创建曲面图。

下面的例子演示了这个概念 −

示例

让我们为函数 g = xe-(x2 + y2) 创建 3D 曲面图

创建脚本文件并输入以下代码 −

[x,y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
print -deps graph.eps

运行该文件时,MATLAB 将显示以下 3D 地图 −

Matlab 中的 3-D 地图

您还可以使用mesh命令来生成三维曲面。但是,surf 命令以颜色显示连接线和表面的面,而 mesh 命令则使用连接定义点的彩色线创建线框表面。