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 会显示以下条形图:

Drawing Bar Charts

绘制等值线

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

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);   %independent variables
g = x.^2 + y.^2;                       % our function
contour(x,y,g)                         % call the contour function
print -deps graph.eps

运行该文件时,MATLAB 会显示以下等值线图:

Contour Map in Matlab

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

[x,y] = meshgrid(-5:0.1:5,-3:0.1:3);   %independent variables
g = x.^2 + y.^2;                       % our function
[C, h] = contour(x,y,g);               % call the contour function
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)
print -deps graph.eps

运行该文件时,MATLAB 会显示以下等值线图:

A good looking Contour Map

三维图形

三维图形基本上显示由两个变量的函数定义的曲面,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 图:

3-D Map in Matlab

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

广告
© . All rights reserved.