百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

MATLAB的plot3函数绘制三维图形(matlab plot画三维图)

haoteby 2025-03-20 14:59 35 浏览

MATLAB绘制三维图形的函数中,最基本的三维图形函数为plot3函数,它将二维绘图函数plot的有关功能扩展到三维空间,可以用来绘制三维曲线。

plot3函数的基本语法

plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…)
其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot的选项一样。
当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线。当x,y,z是同维矩阵时,
则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵的列数。
plot3(X,Y,Z) 绘制三维空间中的坐标。
要绘制由线段连接的一组坐标,请将 X、Y、Z 指定为相同长度的向量。
要在同一组坐标轴上绘制多组坐标,请将 X、Y 或 Z 中的至少一个指定为矩阵,其他指定为向量。
plot3(X,Y,Z,LineSpec) 使用指定的线型、标记和颜色创建绘图。
plot3(X1,Y1,Z1,...,Xn,Yn,Zn) 在同一组坐标轴上绘制多组坐标。
使用此语法作为将多组坐标指定为矩阵的替代方法。
plot3(X1,Y1,Z1,LineSpec1,...,Xn,Yn,Zn,LineSpecn) 
可为每个 XYZ 三元组指定特定的线型、标记和颜色。可以对某些三元组指定 LineSpec,
而对其他三元组省略它。例如,plot3(X1,Y1,Z1,'o',X2,Y2,Z2) 对第一个三元组指定标记,
但没有对第二个三元组指定标记。

plot3函数的使用实例

实例1:三维函数的参数方程绘图实例

程序

clc;
clear all;
close all;
t=0:pi/66:2*pi;
x=8*cos(t);
y=4*sqrt(2)*sin(t);
z=-4*sqrt(2)*sin(t);
plot3(x,y,z,'rp');
title('Line in 3-D Space');
text(0,0,0,'origin');
xlabel('X');
ylabel('Y');
zlabel('Z');grid;

运行结果

实例2

程序

clc;
clear all;
close all;
t = 0:pi/1000:pi;
X(1,:) = sin(t).*cos(10*t);
X(2,:) = sin(t).*cos(12*t);
X(3,:) = sin(t).*cos(20*t);
Y(1,:) = sin(t).*sin(10*t);
Y(2,:) = sin(t).*sin(12*t);
Y(3,:) = sin(t).*sin(20*t);
figure
Z = 2*sin(t);
plot3(X,Y,Z);
xlabel('X');
ylabel('Y');
zlabel('Z');
grid on;

运行结果

实例3

程序

clc;
clear all;
close all;
t = 0:pi/1000:80*pi;
xt = (3 + cos(sqrt(32)*t)).*cos(t);
yt = sin(sqrt(32) * t);
zt = (3 + cos(sqrt(32)*t)).*sin(t);
figure;
subplot(1,2,1);
plot3(xt,yt,zt,'r')
axis equal
xlabel('x(t)')
ylabel('y(t)')
zlabel('z(t)')

t = 0:pi/1000:80*pi;
xt = (3 + cos(sqrt(32)*t)).*cos(t);
yt = sin(sqrt(32) * t);
zt = (3 + cos(sqrt(32)*t)).*sin(t);
subplot(1,2,2);
plot3(xt,yt,zt,'b')
axis equal
xlabel('x(t)')
ylabel('y(t)')
zlabel('z(t)')

运行结果

实例4

程序

clc;
clear all;
close all;
t = 0:pi/50:10*pi;
xt = 2*sin(t);
yt = 2*cos(t);
zt = t;
plot3(xt,yt,zt,'-o','Color','b','MarkerSize',10,'MarkerFaceColor','#D9FFFF')
xlabel('x')
ylabel('y')
zlabel('z')

运行结果

实例5

程序

clc;
clear all;
close all;
t = 0:pi/20:10*pi;
xt1 = sin(t);
yt1 = cos(t);
xt2 = sin(2*t);
yt2 = cos(2*t);
figure;
plot3(xt1,yt1,t,'r-*',xt2,yt2,t,'b--')
xlabel('x')
ylabel('y')
zlabel('z')

运行结果

实例6

程序

clc;
clear all;
close all;
t = linspace(-10,10,500);
xt = exp(-t./10).*sin(5*t);
yt = exp(-t./10).*cos(5*t);
figure;
p = plot3(xt,yt,t,'-o');
p.LineWidth = 1;
p.MarkerSize = 5;
p.MarkerFaceColor = '#D9FFFF';
xlabel('x')
ylabel('y')
zlabel('z')

运行结果

实例7

程序

clc;
clear all;
close all;
figure;
ax1 = subplot(1,2,1);
t=0:pi/66:2*pi;
x=8*cos(t);
y=4*sqrt(2)*sin(t);
z=-4*sqrt(2)*sin(t);
plot3(ax1,x,y,z,'rp');
title('Line in 3-D Space');
text(0,0,0,'origin');
xlabel('X');
ylabel('Y');
zlabel('Z');grid;
title(ax1,'1 plot')
ax2 =  subplot(1,2,2);
t = linspace(-10,10,500);
xt = exp(-t./10).*sin(5*t);
yt = exp(-t./10).*cos(5*t);
p = plot3(ax2,xt,yt,t,'-o');
p.LineWidth = 1;
p.MarkerSize = 5;
p.MarkerFaceColor = '#D9FFFF';
xlabel('x')
ylabel('y')
zlabel('z')
title(ax2,'2 plot')

运行结果


本文部分内容来源于MATLAB帮助文档,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。

作 者 | 郭志龙
编 辑 | 郭志龙
校 对 | 郭志龙

相关推荐

如何为MySQL服务器和客户机启用SSL?

用户想要与MySQL服务器建立一条安全连接时,常常依赖VPN隧道或SSH隧道。不过,获得MySQL连接的另一个办法是,启用MySQL服务器上的SSL封装器(SSLwrapper)。这每一种方法各有其...

OpenVPN客户端配置_openvpn客户端配置文件解析

...

k8s 证书问题排查_k8s dashboard 证书

从去年开始一些老项目上陆陆续续出现一些列的证书问题,(证书原理这里就不说了,官方文档一堆)多数刚开始的表现就是节点的kubelet服务起不来,节点状态NotReady表现日志如下failed...

企业级网络互通方案:云端OpenVPN+爱快路由器+Win11互联实战

企业级网络互通方案:OpenVPN搭建公有云+爱快路由器+Win11三地互联实战指南「安全高效」三地局域网秒变局域网实施环境说明...

OpenV** Server/Client配置文件详解

Server配置详解...

接口基础认知:关键信息与合规前提

1.核心技术参数(必记)...

S交换机通过SSH登录设备配置示例(RADIUS认证+本地认证独立)

说明:●本示例只介绍设备的认证相关配置,请同时确保已在RADIUS服务器上做了相关配置,如设备地址、共享密钥、创建用户等配置。●通过不同的管理域来实现RADIUS认证与本地认证两种方式同时使用,两...

SSL证书如何去除私钥密码保护_ssl证书怎么取消

有时候我们在生成证书的时候可以加入了密码保护。然后申请到证书安装到了web服务器。但是这样可能会带来麻烦。每次重启apache或者nginx的时候,都需要输入密码。那么SSL证书如何去除私钥密码保护。...

SSL证书基础知识与自签名证书生成指南

一、证书文件类型解析...

S交换机通过SSH登录设备配置示例(RADIUS认证)

说明:本示例只介绍设备的认证相关配置,请同时确保已在RADIUS服务器上做了相关配置,如设备地址、共享密钥、创建用户等配置。假设已在RADIUS服务器上创建了用户名yc123,密码test#123。对...

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

秘钥的产生过程非对称加密...

HTTPS TLS握手流程_进行tls握手

1.客户端向服务器发送`ClientHello`消息,包括支持的TLS版本、加密套件、随机数等信息。2.服务器收到`ClientHello`消息后,解析其中的信息,并根据配置选择一个加密套件。3....

Spring Boot 单点登录(SSO)实现_spring boot 单点登录jwt

SpringBoot单点登录(SSO)实现全指南单点登录(SingleSign-On,SSO)是一种身份验证机制,允许用户使用一组凭证登录多个相关但独立的系统。在微服务架构和企业级系统中,SS...

源码分享:在pdf上加盖电子签章_pdf如何加盖电子公章

在pdf上加盖电子签章,并不是只是加个印章图片,。而是要使用一对密钥中的私钥对文件进行签字。为啥要用私钥呢?很简单,因为公钥是公开的,其他人才可以用公钥为你证明,这个文件是你签的。这就是我们常说的:私...

微信支付商户API证书到期 怎么更换

微信支付商户API证书到期更换是一个非常重要的操作,需要仔细按照流程进行。如果证书过期,所有通过API的支付、退款等操作都会失败,将直接影响您的业务。请按照以下详细步骤进行操作:重要前提:分清...