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

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作图')

相关文章:

  • 【PostgreSQL内核学习:深入理解 PostgreSQL 中的 tuplesort_performsort 函数】
  • 微软2025年AI技术深度解析:从多模态大模型到企业级代理服务
  • Go语言的可选链
  • c++中的auto关键字
  • 项目中集成ECharts图表(通过定时任务SpringTask统计每天的订单金额)
  • 下一代AI App架构:前端生成,后端消失
  • 15.QT窗口:主窗口、浮动窗口、对话框
  • 云原生 | 配置TektonArgo cd完成简单的CI/CD
  • 【Gorm】模型定义
  • http协议版本的区别 -- 2和3
  • 20250406学会提问
  • 《C++探幽:STL(String类的使用)》
  • 【安全】Java幂等性校验解决重复点击(6种实现方式)
  • JavaScript | 流程控制-分支与循环
  • TypeScript 类型系统详解
  • 第2.7节 iOS生成报告时排除指定的类
  • JavaScript零基础入门速通(完整)
  • Java学习——day22(Java反射基础入门)
  • 现代Web表单验证的终极解决方案:构建可扩展的企业级验证系统
  • npm设置代理和取消代理
  • 怎么做网站的防盗链/google谷歌搜索引擎
  • 网站表单怎么做/爱站网长尾挖掘工具
  • 南京政府网站建设/seo综合查询怎么用的
  • 企业推广品牌/星乐seo网站关键词排名优化
  • dw手机网站怎么做/seo一个月工资一般多少
  • 网站建设为啥每年都要收费/阐述网络推广的主要方法