Matlab:三维绘图

目录

1.三维曲线绘图命令:plot3

实例——绘制空间直线

实例——绘制三角曲线

2.三维曲线绘图命令:explot3

3.三维网格命令:mesh

实例——绘制网格面

实例——绘制山峰曲面

实例——绘制函数曲线


1.三维曲线绘图命令:plot3

plot3命令是二维绘图plot命令的扩展,使用格式基本相同,只是在参数中多了个第三维的信息。因此,plot(x,ys)和plot3(x,y,z,s)的意义是一样的。s用来控制曲线的类型,颜色,粗细等。

实例——绘制空间直线

>> x=1:0.1:10 %定义x
y=sin(x); %定义y
z=cos(x);
plot(y,z)  %绘制二维图
plot3(x,y,z)  %绘制三维图

实例——绘制三角曲线

>> close all
x=0:pi/10:2*pi; % 生成从 0 到 2*pi 的数据,步长为 pi/10
y1=sin(x);
y2=cos(x);
plot3(y1,y2,x,'m:p')  % 绘制三维曲线,曲线颜色为品红色(m),使用点标记(:)和虚线样式(p)
grid on % 开启网格线,方便查看坐标

2.三维曲线绘图命令:explot3

explot3命令的调用格式
调用格式说明
explot3(x,y,z)在系统默认的区域x∈(-2Π,2Π),y∈(-2Π,2Π)上画出空间曲线x=x(t),y=y(t)
zplot3(x,y,z,[a,b]绘制上述参数曲线在区域x∈(a,b),y∈(a,b)上的三维网格图
ezplot3(...,'animate')产生空间曲线的一个动画轨迹
% 定义参数范围
t = linspace(0, 10*pi, 1000);% 创建图形窗口
figure;
axis([-1 1 -1 1 0 10*pi]); % 设置坐标轴范围
grid on;
xlabel('X');
ylabel('Y');
zlabel('Z');
title('Animated 3D Curve');% 初始化线条对象
h = plot3(NaN, NaN, NaN, 'b', 'LineWidth', 2);% 循环更新曲线
for i = 1:length(t)% 定义曲线的参数方程x = cos(t(1:i));y = sin(t(1:i));z = t(1:i);% 更新线条对象的数据set(h, 'XData', x, 'YData', y, 'ZData', z);% 刷新图形drawnow limitrate;
end

3.三维网格命令:mesh

此命令生成的是由X,Y,Z指定的网线面,而不是单根曲线。

实例——绘制网格面

>> close all
x=-4:0.25:4;
y=x;
[X,Y]=meshgrid(x,y);  %利用meshgrid函数基于x和y生成二维网格矩阵X和Y。
z=-x.^4+Y.^5;
mesh(Z)
title('网格面')
xlable('x'),ylable('y'),zlable('z')

对于一个三维网格图,有时用户不想显示背后的网格,可以利用hidden命令来实现透明。

hidden on将网格设为不透明状态
hidden off将网格设为透明状态
hidden在on和off之间转换

实例——绘制山峰曲面

用plot3,mesh,meshc和meshz画此函数曲线图形

>> mesh(z)
>> close all
t=-4:0.1:4;
[X,Y]=meshgrid(t);
z=peaks(X,Y);
subplot(1,2,1)
mesh(X,Y,Z),hidden on
title('不显示网格')
subplot(1,2,2)
mesh(X,Y,Z),hidden off
title('显示网格')

实例——绘制函数曲线

>> close all
x = -5:0.1:5;
% 生成网格矩阵
[X,Y] = meshgrid(x);% 计算 Z 值,处理除零错误
R = sqrt(X.^2 + Y.^2);
idx = R == 0; % 找出 R 为 0 的位置
Z = cos(R)./R;
Z(idx) = 1; % 当 R 为 0 时,根据极限值将 Z 设为 1% 创建 2x2 的子图布局
subplot(2,2,1)
plot3(X,Y,Z)
title('plot3作图')subplot(2,2,2)
plot3(X,Y,Z)
title('plot3作图')subplot(2,2,3)
plot3(X,Y,Z)
title('plot3作图')subplot(2,2,4)
meshz(X,Y,Z) % 这里改为 meshz 函数,与标题匹配
title('meshz作图')

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(51单片机)独立按键控制流水灯LED流向(独立按键教程)(LED使用教程)

源代码 如上图将7个文放在Keli5 中即可,然后烧录在单片机中就行了 烧录软件用的是STC-ISP,不知道怎么安装的可以去看江科大的视频: 【51单片机入门教程-2020版 程序全程纯手打 从零开始入门】https://www.bilibili.com/video/BV1Mb411e7re?…

React框架的Concurrent Mode

以下是关于 Concurrent Mode 的系统梳理: 一、Concurrent Mode 的诞生背景 传统渲染的局限性 同步阻塞:React 15 的 Stack Reconciler 无法中断渲染流程优先级缺失:用户交互与后台任务同等对待资源竞争:网络请求与渲染任务无法智能调度核心设计目标 可中断渲染:允许高优先…

Java 集合框架与 Stream 流深入剖析(重点详细讲解)

目录 引言 一、ArrayList 1. 概述 2. 特点 动态扩容 初始容量 扩容倍数 随机访问高效 插入和删除效率低 3. 代码示例 4. 分析 二、HashSet 1. 概述 2. 特点 唯一性 插入、删除和查找效率高 无序性 3. 代码示例 4. 分析 三、HashMap 1. 概述 2. 特点 键唯…

Golang的Goroutine(协程)与runtime

目录 Runtime 包概述 Runtime 包常用函数 1. GOMAXPROCS 2. Caller 和 Callers 3. BlockProfile 和 Stack 理解Golang的Goroutine Goroutine的基本概念 特点: Goroutine的创建与启动 示例代码 解释 Goroutine的调度 Gosched的作用 示例代码 输出 解…

【51单片机】3-3【定时器/计数器/中断】超声波测距模块测距

1.硬件 51最小系统超声波测距模块 2.软件 #include "reg52.h"//距离小于10cm,D5亮,D6灭,反之相反现象sbit D5 P3^7;//根据原理图(电路图),设备变量led1指向P3组IO口的第7口 sbit D6 P3^6;//根据原理图&…

2-Visual Studio 2022 NET开发Windows桌面软件并连接SQL Server数据库

引言 今天尝试Visual Studio 2022 NET开发一个NET桌面软件,并尝试连接SQL Server的数据库,此文章为开发笔记。 --------------------------------------------------------------------------------------------------------------------------------- …

Kafka 漏消费和重复消费问题

Kafka 虽然是一个高可靠、高吞吐的消息系统,但如果使用不当,**“漏消费”和“重复消费”**问题是非常容易发生的,尤其在业务系统中会造成数据丢失、重复写库等严重问题。 🎯 一句话理解: Kafka 本身提供 “至多一次”…

【大模型深度学习】如何估算大模型需要的显存

一、模型参数量 参数量的单位 参数量指的是模型中所有权重和偏置的数量总和。在大模型中,参数量的单位通常以“百万”(M)或“亿”(B,也常说十亿)来表示。 百万(M):表示…

LeetCode算法题(Go语言实现)_32

题目 在一个大小为 n 且 n 为 偶数 的链表中&#xff0c;对于 0 < i < (n / 2) - 1 的 i &#xff0c;第 i 个节点&#xff08;下标从 0 开始&#xff09;的孪生节点为第 (n-1-i) 个节点 。 比方说&#xff0c;n 4 那么节点 0 是节点 3 的孪生节点&#xff0c;节点 1 是…

Linux makefile的一些语法

一、定义变量 1. 变量的基本语法 在 makefile 中&#xff0c;变量的定义和使用非常类似于编程语言中的变量。变量的定义格式&#xff08;最好不要写空格&#xff09;如下&#xff1a; VARIABLE_NAMEvalue 或者 VARIABLE_NAME:value 表示延迟赋值&#xff0c;变量的值在引…

CAN/FD CAN总线配置 最新详解 包含理论+实战(附带源码)

看前须知&#xff1a;本篇文章不会说太多理论性的内容&#xff08;重点在理论结合实践&#xff09;&#xff0c;顾及实操&#xff0c;应用&#xff0c;一切理论内容支撑都是为了后续实际操作进行铺垫&#xff0c;重点在于读者可以看完文章应用。&#xff08;也为节约读者时间&a…

木马学习记录

一句话木马是什么 一句话木马就是仅需要一行代码的木马&#xff0c;很简短且简单&#xff0c;木马的函数将会执行我们发送的命令 如何发送命令&#xff06;发送的命令如何执行? 有三种方式&#xff1a;GET&#xff0c;POST&#xff0c;COOKIE&#xff0c;一句话木马中用$_G…