📜  MATLAB-图形

📅  最后修改于: 2020-11-03 09:55:19             🧑  作者: Mango


本章将继续探索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提供了用于绘制轮廓图的轮廓函数。

让我们生成一个轮廓图,该轮廓图显示给定函数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 2 + y 2

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

[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显示以下轮廓图-

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- (x 2 + y 2 )创建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中的3D地图

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