本章将继续探讨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^2 + y^2
(注: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
执行上面示例代码,得到以下结果 -
下面再修改一下代码,使地图上变得有数据标识 -
[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
命令创建一个线框表面,带有连接定义点的彩色线。