20250531MATLAB三维绘图

news2025/6/4 3:54:44

MATLAB三维绘图

  • 三维曲线:plot3
    • 功能介绍
    • 代码实现过程
    • plot3实现效果
  • 三维曲面
    • 空间曲面作图命令:mesh
      • meshgrid
        • 语法
        • 示例
          • 应用meshgrid
          • 实操训练
      • peaks
        • peaks 的基本用法
        • peaks数学表达式
          • 实操训练
          • 自定义网格大小
          • 使用自定义网格
      • mesh
            • MATLAB代码对齐快捷键Ctrl+i
            • 墨西哥帽
    • 其他作图命令
      • meshc
        • 带等高线的山峰图
        • 带等高线的墨西哥帽子
      • meshz
        • 屏蔽边界面的山峰图
        • 屏蔽边界面的墨西哥帽子
  • 坐标轴控制: axis
    • eps
        • eps的作用
          • eps 的作用和意义

三维曲线:plot3

功能介绍

在这里插入图片描述

代码实现过程

%%plot三维螺旋曲线
t=0:pi/10:10*pi;
x=2*t;
y=sin(t);
z=cos(t);
plot3(x,y,z);

plot3实现效果

在这里插入图片描述

三维曲面

空间曲面作图命令:mesh

首先,先来了解一些基础知识。

meshgrid

meshgrid 是数值计算和图形绘制中使用的函数,用于生成二维或三维网格点的坐标矩阵。
MATLAB 中的 meshgrid
在 MATLAB 中,meshgrid 函数用于生成二维或三维网格点的坐标矩阵。这些矩阵可以用于绘制曲面图、等高线图等。

语法
[X, Y] = meshgrid(x, y);
[X, Y, Z] = meshgrid(x, y, z);

在这里插入图片描述

示例

在这里插入图片描述
首先,对于x,生成一个x = -2:0.2:2; 这条语句就是生成一个行向量。其中,-2 是向量的起始值,0.2 是步长,2 是结束值。MATLAB 会从起始值开始,每次加上步长,直到达到或超过结束值(这里刚好达到结束值)来生成向量的元素。

所以在MATLAB的变量值中可以得到
在这里插入图片描述
y也是同样的一个行向量。

应用meshgrid

meshgrid 函数用于生成二维或三维网格点的坐标矩阵。
在这里插入图片描述

实操训练
x = -2:0.2:2;
y = -2:0.2:2;
[X, Y] = meshgrid(x, y);
Z = X.^2 + Y.^2;
surf(X, Y, Z);

在这里插入图片描述

peaks

在 MATLAB 中,peaks 是一个内置函数,用于生成一个样本函数(通常是一个二维的“山脉”形状的函数),它主要用于演示和测试各种三维图形绘制函数(如 surf、mesh 等)。这个函数可以生成一个包含多个局部极大值和极小值的平滑曲面,非常适合用于展示三维图形的特性和功能。

peaks 的基本用法

peaks 函数有多种调用方式,可以生成不同尺寸的矩阵或直接绘制图形:

  1. peaks: 直接绘制 peaks 函数的三维曲面图。
  2. peaks(n): 生成一个 n×n 的矩阵,表示 peaks 函数在规则网格上的值。
  3. peaks(X,Y): 在指定的网格坐标 X 和 Y 上计算 peaks 函数的值。
  4. [X,Y,Z] = peaks(…): 返回网格坐标矩阵 X、Y 和对应的函数值矩阵 Z。
peaks数学表达式

在这里插入图片描述

实操训练
% 生成一个 20×20 的 peaks 矩阵
 Z = peaks(20);

在这里插入图片描述

%在指定的网格坐标上计算 peaks 函数的值
[X, Y] = meshgrid(-3:0.2:3, -3:0.2:3);
Z = peaks(X, Y);

因为步长为0.2,从-1到0一共有6个值,因为带上端点
在这里插入图片描述

指定的网格坐标上计算 peaks 函数的值,步长为0.2,所以从-3到3一共有31个值为31*31的矩阵
在这里插入图片描述

返回网格坐标矩阵和函数值矩阵得到49*49

%返回网格坐标矩阵和函数值矩阵
[X, Y, Z] = peaks;

在这里插入图片描述在这里插入图片描述
在这个例子中,peaks 函数默认生成一个 49×49 的网格。这是因为 peaks 函数在没有指定输入参数时,会使用默认的网格参数,即生成一个 49×49 的网格。

自定义网格大小

可以通过指定输入向量来控制网格的大小。例如:

n = 20;  % 指定网格的大小为 20×20
[X, Y, Z] = peaks(n);

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

使用自定义网格

还可以使用 meshgrid 函数来自定义网格的坐标:

x = linspace(-3, 3, 49);  % 生成包含49个点的向量,范围从-3到3
y = linspace(-3, 3, 49);
[X, Y] = meshgrid(x, y);  % 生成49×49的网格坐标矩阵
Z = peaks(X, Y);          % 计算peaks函数在该网格上的值

mesh

在这里插入图片描述

[X,Y]=meshgrid(-3:1/8:3);
Z=peaks(X,Y);
mesh(X,Y,Z);

mesh作图

mesh作peaks图

MATLAB代码对齐快捷键Ctrl+i
墨西哥帽
x = -8 : 0.5 : 8;
y = -8 : 0.5 : 8;
[X,Y] = meshgrid(x,y);
r = sqrt(X.^2 + Y.^2) + eps;
Z = sin(r) ./ r;
mesh(X,Y,Z)

在这里插入图片描述

墨西哥帽

其他作图命令

在这里插入图片描述

meshc

在这里插入图片描述

带等高线的山峰图
%%
n = 20;  % 指定网格的大小为 20×20
[X, Y, Z] = peaks(n);
[X,Y]=meshgrid(-3:1/8:3);
Z=peaks(X,Y);
meshc(X,Y,Z);

在这里插入图片描述

带等高线的墨西哥帽子
x = -8 : 0.5 : 8;
y = -8 : 0.5 : 8;
[X,Y] = meshgrid(x,y);
r = sqrt(X.^2 + Y.^2) + eps;
Z = sin(r) ./ r;
meshc(X,Y,Z);
title('墨西哥帽')
xlabel('x')
ylabel('y')
zlabel('z')

在这里插入图片描述

meshz

在这里插入图片描述

屏蔽边界面的山峰图

在这里插入图片描述

屏蔽边界面的墨西哥帽子
x = -8 : 0.5 : 8;
y = -8 : 0.5 : 8;
[X,Y] = meshgrid(x,y);
r = sqrt(X.^2 + Y.^2) + eps;
Z = sin(r) ./ r;
meshz(X,Y,Z);
title('墨西哥帽')
xlabel('x')
ylabel('y')
zlabel('z')

在这里插入图片描述

坐标轴控制: axis

在这里插入图片描述

eps

在这里插入图片描述

eps的作用

在 MATLAB 中,eps 表示的是机器精度,即 MATLAB 中浮点数的最大相对精度。它通常用于防止除以零的情况,特别是在涉及分母可能非常接近零的数值计算中。

eps 的作用和意义
  1. 数值计算中的保护机制:在数值计算中,如果分母非常接近零,会导致结果数值不稳定甚至出现无穷大(Inf)或 NaN(Not a Number)。通过在分母中加上 eps,可以确保分母不会为零或非常接近零,从而避免数值计算中的错误或不稳定结果。
  2. 机器精度:eps 的值约为 2.2204 ∗ 10 − 16 2.2204*10^{-16} 2.22041016 ,它是 MATLAB 中浮点数的最小差值,用于表示两个相邻浮点数之间的最小间隔。
  3. 在这里插入图片描述
方式优点缺点
mesh(X,Y,Z)明确指定 X 和 Y 网格,坐标轴显示准确参数较多,需要额外计算 X 和 Y 网格
mesh(Z)参数少,代码简洁坐标轴显示可能不准确,依赖默认行为

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2395798.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入理解C#异步编程:原理、实践与最佳方案

在现代软件开发中,应用程序的性能和响应能力至关重要。特别是在处理I/O密集型操作(如网络请求、文件读写、数据库查询)时,传统的同步编程方式会导致线程阻塞,降低程序的吞吐量。C# 的异步编程模型(async/aw…

基于千帆大模型的AI体检报告解读系统实战:使用OSS与PDFBox实现PDF内容识别

目录 说明 前言 需求 流程说明 表结构说明 整体流程 百度智能云 注册和实名认证 创建应用 费用说明 大模型API说明 集成大模型 设计Prompt 上传体检报告 读取PDF内容 功能实现 智能评测 抽取大模型工具 功能实现 总结 说明 AI体检报告解读、病例小结或者…

Spring,SpringMVC,SpringBoot

1.Spring最核心包括aop和ioc概念 AOP 能够将将哪些于业务无关的,并且大量重复的业务逻辑进行封装起来,便于减少重复代码,降低模块之间的耦合度,给未来的系统更好的可用性和可维护性。 Spring中AOP是采用动态代理,JDK代…

数据分析学习笔记——A/B测试

目录 前言 A/B测试中的统计学方法 假设检验 Levenes Test莱文测试 t 检验(两组均值差异) 实战案例 数据来源及参考资料 代码详解 导入数据 计算ROI Request检验 GMV检验 ROI检验 结语 前言 什么是A/B测试?说白了就是中学生物实…

基于RK3568/RK3588/全志H3/飞腾芯片/音视频通话程序/语音对讲/视频对讲/实时性好/极低延迟

一、前言说明 近期收到几个需求都是做音视频通话,很多人会选择用webrtc的方案,这个当然是个不错的方案,但是依赖的东西太多,而且相关组件代码量很大,开发难度大。所以最终选择自己属性的方案,那就是推流拉…

解决 Win11 睡眠后黑屏无法唤醒的问题

目录 一、问题描述二、解决方法1. 禁用快速启动2. 设置 Management Engine Interface3. 允许混合睡眠其他命令 4. 修复系统文件5. 更新 Windows 或驱动程序6. 其他1)更改电源选项2)刷新 Hiberfil.sys 文件3)重置电源计划4)运行系统…

[ElasticSearch] RestAPI

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

Linux中的shell脚本

什么是shell脚本 shell脚本是文本的一种shell脚本是可以运行的文本shell脚本的内容是由逻辑和数据组成shell脚本是解释型语言 用file命令可以查看文件是否是一个脚本文件 file filename 脚本书写规范 注释 单行注释 使用#号来进行单行注释 多行注释 使用 : " 注释内容…

dvwa3——CSRF

LOW: 先尝试change一组密码:123456 修改成功,我们观察上面的url代码 http://localhost/DVWA/vulnerabilities/csrf/?password_new123456&password_conf123456&ChangeChange# 将password_new部分与password_conf部分改成我们想要的…

【学习笔记】Transformer

学习的博客(在此致谢): 初识CV - Transformer模型详解(图解最完整版) 1 整体结构 Transformer由Encoder和Decoder组成,分别包含6个block。 Transformer的工作流程大体如下: 获取每个单词的em…

欢乐熊大话蓝牙知识12:用 BLE 打造家庭 IoT 网络的三种方式

🏠 用 BLE 打造家庭 IoT 网络的三种方式 不止是“蓝牙耳机”,BLE 还能把你家“点亮成精”! 👋 前言:BLE 不只是蓝牙耳机的“代名词” 蓝牙?很多人一听就联想到“耳机连接失败请重试”。但你知道吗?现在 BLE(Bluetooth Low Energy)在智能家居中已经偷偷搞起了大事情。…

02.上帝之心算法用GPU计算提速50倍

本文介绍了上帝之心的算法及其Python实现,使用Python语言的性能分析工具测算性能瓶颈,将算法最耗时的部分重构至CUDA C语言在纯GPU上运行,利用GPU核心更多并行更快的优势显著提高算法运算速度,实现了结果不变的情况下将耗时缩短五…

MES管理系统:Java+Vue,含源码与文档,实现生产过程实时监控、调度与优化,提升制造企业效能

前言: 在当今竞争激烈的制造业环境中,企业面临着提高生产效率、降低成本、提升产品质量以及快速响应市场变化等多重挑战。MES管理系统作为连接企业上层计划管理系统与底层工业控制之间的桥梁,扮演着至关重要的角色。它能够实时收集、分析和处…

LeetCode算法题 (搜索二维矩阵)Day18!!!C/C++

https://leetcode.cn/problems/search-a-2d-matrix/description/ 一、题目分析 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 ta…

VectorStore 组件深入学习与检索方法

考虑到目前市面上的向量数据库众多,每个数据库的操作方式也无统一标准,但是仍然存在着一些公共特征,LangChain 基于这些通用的特征封装了 VectorStore 基类,在这个基类下,可以将方法划分成 6 种: 相似性搜…

HackMyVM-First

信息搜集 主机发现 ┌──(kali㉿kali)-[~] └─$ nmap -sn 192.168.43.0/24 Starting Nmap 7.95 ( https://nmap.org ) at 2025-05-31 06:13 EDT Nmap scan report for 192.168.43.1 Host is up (0.0080s latency). MAC Address: C6:45:66:05:91:88 (Unknown) …

跨平台浏览器集成库JxBrowser 支持 Chrome 扩展程序,高效赋能 Java 桌面应用

JxBrowser 是 TeamDev 开发的跨平台库,用于在 Java 应用程序中集成 Chromium 浏览器。它支持 HTML5、CSS3、JavaScript 等,具备硬件加速渲染、双向 Java 与 JavaScript 连接、丰富的事件监听等功能,能处理网页保存、打印等操作,助…

WEBSTORM前端 —— 第3章:移动 Web —— 第3节:移动适配

目录 一、移动Web基础 1.谷歌模拟器 2.屏幕分辨率 3.视口 4.二倍图 二、适配方案 三、rem 适配方案 四、less 1.less – 简介 2.less – 注释 3.less – 运算 4.less – 嵌套 5.less – 变量 6.less – 导入 7.less – 导出 8.less – 禁止导出 五…

弱光环境下如何手持相机拍摄静物:摄影曝光之等效曝光认知

写在前面 博文内容为一次博物馆静物拍摄笔记的简单总结内容涉及:弱光环境拍摄静物如何选择,以及等效曝光的认知理解不足小伙伴帮忙指正 😃,生活加油 我看远山,远山悲悯 持续分享技术干货,感兴趣小伙伴可以关注下 _ 采…

【HTML】基础学习【数据分析全栈攻略:爬虫+处理+可视化+报告】

- 第 102 篇 - Date: 2025 - 05 - 31 Author: 郑龙浩/仟墨 文章目录 HTML 基础学习一 了解HTML二 HTML的结构三 HTML标签1 标题2 文本段落3 换行4 加粗、斜体、下划线5 插入图片6 添加链接7 容器8 列表9 表格10 class类 HTML 基础学习 一 了解HTML 一个网页分为为三部分&…