【MATLAB】三维图形绘制 ( 三维平面图 | 二维网格 | meshgrid 函数 | 绘制网格 | mesh 函授 | 绘制平面 | surf 函数 | 绘制等高线 | contour 函数 )(一)

简介: 【MATLAB】三维图形绘制 ( 三维平面图 | 二维网格 | meshgrid 函数 | 绘制网格 | mesh 函授 | 绘制平面 | surf 函数 | 绘制等高线 | contour 函数 )(一)

文章目录

一、二维网格

1、线图 与 平面图

2、meshgrid 函数生成二维网格

二、绘制网格

1、mesh 函数绘制网格

2、代码示例

三、绘制平面

1、surf 函数绘制平面

2、代码示例

四、绘制等高线

1、contour 函数绘制等高线

2、代码示例

3、绘制彩色等高线并标注高度值





一、二维网格




1、线图 与 平面图


之前使用 plot 和 plot3 绘制的都是线图 , 给定若干个点的向量 , 绘制这些点 , 然后将这些点使用直线连接起来 , 组成了线图 ;


绘制 3 33 维线图时 , 只需要给定 X , Y , Z X,Y, ZX,Y,Z 三个向量 ( 每个向量都含有 n nn 个元素 ) , 分别是 n nn 个点的 x , y , z x, y , zx,y,z 坐标值 ;


两点之间 , 使用线连接起来即可 ;



平面图形 Surface , 绘制的是一个平面 , 需要给定 X , Y , Z X, Y, ZX,Y,Z 三个值 , 其中 X , Y , Z X, Y, ZX,Y,Z 是矩阵 ;


如 X , Y , Z X, Y, ZX,Y,Z 都是 m × n m \times nm×n 的矩阵 , 那么 X , Y X, YX,Y 就可以决定一个 m × n m \times nm×n 个点组成的平面 , 此时 m × n m \times nm×n 个点的 z zz 轴的值是 Z ZZ 矩阵中对应的 m × n m \times nm×n 个值中的一个 ;


平面是按照矩阵网格状进行分布 ;




2、meshgrid 函数生成二维网格


meshgrid 参考文档 : https://ww2.mathworks.cn/help/matlab/ref/meshgrid.html



使用 meshgrid 函数 , 可以产生 X , Y X, YX,Y 矩阵的值 , 即产生的是 x − y x -yx−y 坐标轴的网格平面 ;



生成二维网格示例 :


% 生成 x 向量
x = -2 : 1 : 2
% 生成 y 向量
y = -2 : 1 : 2
% 生成 X Y 两个矩阵 
% 生成了 x-y 坐标轴上的网格
[X, Y] = meshgrid(x, y)


打印结果 :


>> Untitled
x =
    -2    -1     0     1     2
y =
    -2    -1     0     1     2
X =
    -2    -1     0     1     2
    -2    -1     0     1     2
    -2    -1     0     1     2
    -2    -1     0     1     2
    -2    -1     0     1     2
Y =
    -2    -2    -2    -2    -2
    -1    -1    -1    -1    -1
     0     0     0     0     0
     1     1     1     1     1
     2     2     2     2     2
>>



X XX 向量


-2    -1     0     1     2


和 Y YY 向量


-2    -1     0     1     2


生成的二维网格 ,


X XX 矩阵 :


X =
    -2    -1     0     1     2
    -2    -1     0     1     2
    -2    -1     0     1     2
    -2    -1     0     1     2
    -2    -1     0     1     2


Y YY 矩阵 :


Y =
    -2    -2    -2    -2    -2
    -1    -1    -1    -1    -1
     0     0     0     0     0
     1     1     1     1     1
     2     2     2     2     2





二、绘制网格




1、mesh 函数绘制网格


mesh 函数参考文档 : https://ww2.mathworks.cn/help/matlab/ref/mesh.html


mesh 函数作用是绘制网格 ;




2、代码示例


使用 -2 : 0.1 : 2 向量生成 x , y x,yx,y 网格矩阵 X , Y X , YX,Y ;


每个 z zz 值的计算方式是 z = e − x 2 − y 2 x z = e^{-x^2 - y^2}xz=e

−x

2

−y

2

x ;



代码示例 :


% 生成 x 向量
x = -2 : 0.1 : 2;
% 生成 y 向量
y = -2 : 0.1 : 2;
% 生成 X Y 两个矩阵 
% 生成了 x-y 坐标轴上的网格
[X, Y] = meshgrid(x, y);
% 生成 Z 矩阵
Z = X .* exp (-X .^ 2 - Y .^ 2);
% 绘制网格
mesh(X, Y, Z);


绘制结果 :


image.png




目录
相关文章
|
12天前
|
算法 图形学
三维球体空间中光线反射模拟与三维点云提取matlab仿真
本项目使用MATLAB2022A模拟三维椭球体内光线反射并提取三维点云。通过设置椭球模型作为墙壁,根据几何光学原理计算光线在曲面上的反射路径,记录每次反射点坐标,生成三维点云图。核心代码实现多次反射的循环计算与绘图,并展示反射点的位置变化及其平滑处理结果。最终,通过光线追踪技术模拟真实场景中的光线行为,生成精确的三维点云数据,适用于计算机图形学和光学仿真领域。
|
1天前
|
算法 Serverless
基于魏格纳函数和焦散线方法的自加速光束matlab模拟与仿真
本项目基于魏格纳函数和焦散线方法,使用MATLAB 2022A模拟自加速光束。通过魏格纳函数法生成多种自加速光束,并设计相应方法,展示仿真结果。核心程序包括相位和幅度的计算、光场分布及拟合分析,实现对光束传播特性的精确控制。应用领域涵盖光学成像、光操控和光束聚焦等。 关键步骤: 1. 利用魏格纳函数计算光场分布。 2. 模拟并展示自加速光束的相位和幅度图像。 3. 通过拟合分析,验证光束加速特性。 该算法原理基于魏格纳函数描述光场分布,结合数值模拟技术,实现对光束形状和传播特性的精确控制。通过调整光束相位分布,可改变其传播特性,如聚焦或加速。
|
3月前
|
存储 数据可视化 数据挖掘
使用Matlab绘制简单的二维与三维图形
【10月更文挑战第3天】本文详细介绍了如何在 Matlab 中绘制简单的二维和三维图形,包括曲线图、柱状图、散点图、网格图、表面图、等高线图、多边形填充图、切片图及矢量场等。文章提供了丰富的代码示例,如使用 `plot`、`bar`、`scatter`、`plot3`、`mesh`、`surf`、`contour` 等函数绘制不同类型图形的方法,并介绍了 `rotate3d`、`comet3` 和 `movie` 等工具实现图形的交互和动画效果。通过这些示例,读者可以轻松掌握 Matlab 的绘图技巧,并应用于数据可视化和分析中。
113 6
|
3月前
|
算法 数据可视化 数据处理
MATLAB内置函数
【10月更文挑战第6天】本文详细介绍了MATLAB的内置函数和自定义函数,涵盖数学计算、矩阵操作、图形绘制等方面。通过具体代码示例,展示了如何使用内置函数和创建自定义函数,以及它们在性能、灵活性和可读性上的优劣。同时,文章还讨论了函数文件与脚本文件的区别,匿名函数和函数句柄的高级应用,帮助读者更好地利用MATLAB解决复杂问题。
82 1
|
3月前
|
存储 机器学习/深度学习 数据可视化
MATLAB脚本与函数
【10月更文挑战第4天】本文介绍了MATLAB脚本与函数的基本概念及编写方法,涵盖脚本和函数的创建、运行及优缺点,通过示例帮助初学者快速上手。同时,文章还涉及数据类型、控制结构、数据可视化、文件操作、错误处理等内容,提供了丰富的示例和学习资源,助力初学者逐步掌握MATLAB编程。
142 3
|
5月前
|
Python
【Python】实现MATLAB中计算两个矩形相交面积的rectint函数
Python中实现MATLAB中rectint函数的方法,该函数用于计算两个矩形相交区域的面积,并通过定义Rectangle类和calc_area函数展示了如何计算两个矩形的交集面积。
73 1
|
5月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
248 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
5月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
147 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
5月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
117 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
8月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度