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);
最后,我们需要给函数分配一个值。让我们的函数为:x² + y² 创建一个脚本文件,并输入以下代码−。
[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会显示如下轮廓地图 –
让我们稍微修改一下代码,让地图更漂亮一些
[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将显示以下轮廓图 –
三维图
三维图基本上展示了由一个二变量函数定义的曲面,g = f (x,y)。
和以前一样,为了定义g,我们首先使用 meshgrid 命令在函数的定义域上创建一组(x,y)点。接下来,我们给函数本身赋值。最后,我们使用 surf 命令创建曲面图。
以下示例演示了该概念:
示例
让我们为函数g = xe-(x2 + y2)创建一个三维表面图。
创建一个脚本文件并键入以下代码:
[x,y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
print -deps graph.eps
当你运行该文件时,MATLAB会显示以下3D地图 –
你也可以使用 mesh 命令生成一个三维表面。然而, surf 命令以彩色显示表面的连接线和面,而 mesh 命令则创建一个带有连接定义点的彩色线框表面。