当前位置: 首页 > article >正文

matlab绘图常见函数及代码

 

一、引言

 

在科学研究、工程实践以及数据分析等众多领域,数据可视化至关重要。MATLAB作为一款强大的数学计算和编程软件,提供了丰富多样的绘图函数和工具,能够将枯燥的数据转化为直观、富有洞察力的图形。本文将深入探讨MATLAB中几种常见的画图程序,帮助读者全面掌握数据可视化的技巧。

 

二、二维绘图基础——plot函数

 

2.1 简单折线图绘制

 

 plot 函数是MATLAB中绘制二维折线图的基础函数。其最基本的调用格式为 plot(x,y) ,其中 x 和 y 是长度相同的向量。例如:

 

matlab

x = 1:10;

y = x.^2;

plot(x,y);

 

 

上述代码中, x 向量从1到10, y 向量是 x 中各元素的平方。执行 plot(x,y) 后,MATLAB会在坐标系中依次连接 (x(i),y(i)) 这些点,形成一条折线。

 

2.2 线条属性设置

 

 plot 函数支持对线型、颜色和标记等属性进行设置。例如,要绘制红色虚线并带有圆形标记的折线,可以使用:

 

matlab

x = 1:10;

y = x.^2;

plot(x,y,'--ro');

 

 

这里 '--ro' 中, -- 表示虚线线型, r 表示红色, o 表示圆形标记。还可以通过 set 函数进一步设置线条的线宽等属性,如:

 

matlab

h = plot(x,y,'--ro');

set(h,'LineWidth',2);

 

 

2.3 多组数据绘制

 

在一个图形中绘制多组数据,可以在 plot 函数中依次列出多组 (x,y) 对。例如:

 

matlab

x = 1:10;

y1 = x;

y2 = x.^2;

y3 = x.^3;

plot(x,y1,x,y2,x,y3);

 

 

这样就会在同一坐标系中绘制出三条不同的曲线。为了区分不同曲线,还可以添加图例:

 

matlab

x = 1:10;

y1 = x;

y2 = x.^2;

y3 = x.^3;

plot(x,y1,x,y2,x,y3);

legend('y = x','y = x^2','y = x^3');

 

 

三、柱状图绘制——bar函数

 

3.1 垂直柱状图

 

 bar 函数用于绘制垂直柱状图。其基本调用格式为 bar(x,y) ,其中 x 可以是向量或标量, y 是向量。例如:

 

matlab

x = 1:5;

y = [10 20 15 25 30];

bar(x,y);

 

 

上述代码会以 x 中的值为横坐标, y 中的值为高度绘制垂直柱状图。

 

3.2 水平柱状图

 

若要绘制水平柱状图,可使用 barh 函数,调用格式与 bar 类似。例如:

 

matlab

x = 1:5;

y = [10 20 15 25 30];

barh(x,y);

 

 

3.3 分组柱状图与堆叠柱状图

 

对于多组数据,可以绘制分组柱状图或堆叠柱状图。绘制分组柱状图时, y 是一个矩阵,每列对应一组数据。例如:

 

matlab

x = 1:3;

y = [10 20 30; 15 25 35; 20 30 40];

bar(x,y);

 

 

而绘制堆叠柱状图,只需将 bar 函数替换为 barstacked 函数:

 

matlab

x = 1:3;

y = [10 20 30; 15 25 35; 20 30 40];

barstacked(x,y);

 

 

四、散点图绘制——scatter函数

 

4.1 基本散点图绘制

 

 scatter 函数用于绘制散点图,其基本格式为 scatter(x,y) 。例如:

 

matlab

x = randn(100,1);

y = randn(100,1);

scatter(x,y);

 

 

这里生成了100个服从标准正态分布的随机数对 (x,y) ,并绘制出散点图。

 

4.2 散点大小与颜色设置

 

可以通过额外参数设置散点的大小和颜色。例如,根据第三组数据来设置散点大小,根据第四组数据来设置颜色:

 

matlab

x = randn(100,1);

y = randn(100,1);

s = abs(randn(100,1)) * 50; % 散点大小

c = randn(100,1); % 颜色

scatter(x,y,s,c);

 

 

五、三维绘图——plot3函数与surf函数

 

5.1 三维折线图——plot3函数

 

 plot3 函数用于绘制三维空间中的折线图,调用格式为 plot3(x,y,z) ,其中 x 、 y 、 z 是长度相同的向量。例如:

 

matlab

t = 0:0.1:2*pi;

x = sin(t);

y = cos(t);

z = t;

plot3(x,y,z);

 

 

这段代码会在三维空间中绘制出一条螺旋线。

 

5.2 三维曲面图——surf函数

 

 surf 函数用于绘制三维曲面图。首先需要生成网格数据,通常使用 meshgrid 函数。例如:

 

matlab

[x,y] = meshgrid(-2:0.1:2);

z = x.^2 + y.^2;

surf(x,y,z);

 

 

上述代码在 x 、 y 范围为[-2, 2],步长为0.1的网格上,计算函数 z = x^2 + y^2 的值,并绘制出三维曲面。

 

六、极坐标图绘制——polarplot函数

 

6.1 基本极坐标图绘制

 

 polarplot 函数用于绘制极坐标图,基本调用格式为 polarplot(theta,r) ,其中 theta 是极角(弧度), r 是极径。例如:

 

matlab

theta = 0:0.01:2*pi;

r = sin(2*theta).*cos(2*theta);

polarplot(theta,r);

 

 

此代码绘制出一个特定形状的极坐标图形。

 

6.2 极坐标图属性设置

 

可以像二维绘图一样设置极坐标图的线条、标记等属性。例如:

 

matlab

theta = 0:0.01:2*pi;

r = sin(2*theta).*cos(2*theta);

polarplot(theta,r,'--ro');

 

 

七、总结

 

MATLAB的绘图功能极其丰富,本文介绍的 plot 、 bar 、 scatter 、 plot3 、 surf 和 polarplot 函数只是冰山一角。通过灵活运用这些函数以及它们的各种参数设置,能够创建出各种类型的高质量可视化图形,帮助我们更好地理解和分析数据。在实际应用中,应根据数据特点和分析目的选择合适的绘图方式,以达到最佳的数据可视化效果。


http://www.kler.cn/a/470945.html

相关文章:

  • 【C语言程序设计——选择结构程序设计】求阶跃函数的值(头歌实践教学平台习题)【合集】
  • Docker:安装 XXL-JOB 分布式调度任务的技术指南
  • 什么样的人适合从事FPGA开发的工作?
  • Neo4j的部署和操作
  • 【three.js】场景搭建
  • AI在电子制造中的应用:预测质量控制
  • C# BigInteger 的使用
  • 『SQLite』约束怎么用
  • linux ansible部署
  • Qt|麦克风设备热插拔检测功能
  • 网络安全领域中PHP防范常用语法
  • 安卓H5项目通过adb更新H5项目
  • jQuery二次元风格右键菜单插件HTML源码
  • C++ Latch 和 Barrier: 新手指南
  • 【网络云SRE运维开发】2025第1周-每日【2025/01/04】小测-【第5章 交换机的工作原理】理论和实操
  • 用c++构建的actor导致整个ue5蓝图项目打不开。
  • java 转义 反斜杠 Unexpected internal error near index 1
  • (leetcode算法题)371. 两整数之和
  • xilinx的高速接口构成原理和连接结构及ibert工具的使用-以k7 GTX为例
  • Ubuntu-bk搭建
  • springboot547产业园区智慧公寓管理系统(论文+源码)_kaic
  • PHP如何删除数组中的特定值?
  • 小R的蛋糕分享
  • 企业级Nosql数据库和Redis集群
  • 查找路由器的管理后台ip【通用找IP】
  • 在高德地图上加载3DTilesLayer图层模型/天地瓦片