当前位置: 首页 > 教程 > Matlab >

Matlab图形

精华
小牛编辑
168浏览
2023-03-14

本章将继续探讨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)的轮廓线。该函数有两个变量。 所以,必须生成两个独立的变量,即两个数据集xy。 这可以通过调用meshgrid命令完成。

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

绘制函数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(注:xy的平方之和)
创建脚本文件并键入以下代码 -

[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

执行上面示例代码,得到以下结果 -

下面再修改一下代码,使地图上变得有数据标识 -

[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

执行上面示例代码,得到以下结果 -

三维图

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

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

以下示例演示了这一概念 -

示例

为以下函数创建一个3D曲面图 -

创建脚本文件并键入以下代码 -

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

运行文件时,MATLAB显示以下三维图 -

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