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提供了一个绘制等高线地图的contour函数。

实例

生成一个等高线地图,显示给定函数g = f(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);   % 自变量
g = x.^2 + y.^2;                       % 函数
contour(x,y,g)                         % 调用等高线函数并传递参数
print -deps graph.eps
等高线图/轮廓图

稍微修改一下代码来美化这个图 :


[x,y] = meshgrid(-5:0.1:5,-3:0.1:3);   % 自变量
g = x.^2 + y.^2;                       % 函数
[C, h] = contour(x,y,g);               % 调用等高线图函数并传递参数
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2) %增加的语句
print -deps graph.eps

结果:

等高线图/轮廓图

三维图

三维图形基本上显示了一个由两个变量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
三维图

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

mesh命令绘制的3D表面图

mesh命令绘制的3D表面图





公众号

关注公众号,获取一手资讯

“ MATLAB 图形 ” comments 0

评论/回复

电子邮件地址不会被公开。 必填项已用*标注