MATLAB三维图形的绘制

1,三维曲线

**plot3(x,y,z)通过描点连线画出曲图,**这里x,y,z都是n维向量,分别表示该曲线上点集的横坐标,纵坐标,竖坐标。

复制代码
t=0:pi/50:10*pi;
subplot(121),plot3(sin(t),cos(t),t);
subplot(122),fplot3(@(t)sin(t),@(t)cos(t),@(t)t,[0,10*pi])

2,网格图

**命令mesh(x,y,z)画网格曲图。**这里x,y,z是三个同维数的数据矩阵,分别表示数据点的横坐标,纵坐标,竖坐标,命令mesh(x,y,z)将该数据点在空间中描出u,并且连成网格

示例:绘制二元函数z=sin(xy)/xy

复制代码
clc,clear,close all
x=-5:0.2:5;
[x,y]=meshgrid(x);%生成网格数据
z=(sin(x./y)+eps)./(x.*y+eps);%为避免0/0,分子分母都加eps,变成浮点精度型
subplot(121),mesh(x,y,z)
subplot(122),fmesh(@(x,y)sin(x.*y)./(x.*y))

3,表面图

**命令surf(x,y,z)画三维,**这里x,y,z是三个同维数的数据矩阵,分别表示数据点的横坐标,纵坐标,竖坐标

示例:绘制二元函数z=sin(xy)/xy

复制代码
clc,clear,close all
x=-5:0.2:5;
[x,y]=meshgrid(x);
z=(sin(x./y)+eps)./(x.*y+eps);%为避免0/0,分子分母都加eps,变成浮点精度型
subplot(121),surf(x,y,z)
subplot(122),fsurf(@(x,y)sin(x.*y)./(x.*y))

4,旋转曲图

示例:

使用命令fmesh画图,matlab程序如下:

复制代码
clc,clear,close all
f=@(x,y,z)x.^2+(sqrt(y.^2+z.^2)-5).^2-16;
subplot(121),fimplicit3(f,[-4,4,-9,9,-9,9])
x=@(u,v)4*cos(u);
y=@(u,v)(5+4*sin(u)).*cos(v);
z=@(u,v)(5+4*sin(u)).*sin(v);
subplot(122),fsurf(x,y,z)

5,二次曲面图形

matlab中使用绘图命令fmesh或fsurf,画显函数或参数方程表示的二次曲面很方便

或者直接用fimlicit3画隐函数表示的二次曲面

5.1 单页双曲面

示例:

复制代码
clc,clear,close all
f=@(x,y,z)x.^2/4+y.^2/10-z.^2/8-1;
subplot(121),fimplicit3(f,[-20,20,-20,20,-15,15])
x=@(u,v)2*cosh(v).*cos(u);
y=@(u,v)sqrt(10)*cosh(v).*sin(u);
z=@(u,v)2*sqrt(2)*sin(v);
subplot(122),fmesh(x,y,z,[0,2*pi,-pi,pi]);

5.2 双叶双曲面

示例:

复制代码
clc,clear,close all
f=@(x,y,z)x.^2/9-y.^2/4-z.^2-1;
fimplicit3(f)

5.3 抛物柱面

示例:y^2=x

复制代码
clc,clear,close all
fsurf(@(y,z)y.^2)

5.4 椭圆锥面

示例:

复制代码
clc,clear,close all
subplot(121)
fimplicit3(@(x,y,z)x.^2/9+y.^2/4-z.^2,[-6,6,-4,4,-2,2])
subplot(122),x=@(s,t)3*tan(s).*cos(t);
y=@(s,t)2*tan(s).*sin(t);
z=@(s,t)tan(s);
fsurf(x,y,z,[-1,1,0,2*pi])

5.5 椭圆球

复制代码
clc,clear,close all
subplot(121),fimplicit3(@(x,y,z)x.^2/9+y.^2/9+z.^2/6-1)
subplot(122),ellipsoid(0,0,0,3,2,sqrt(6))

5.6 马鞍面

示例:z=xy

复制代码
clc,clear,close all
fsurf(@(x,y)x.*y)

5.7 椭圆柱面

复制代码
clc,clear,close all
subplot(121),fimplicit3(@(x,y,z)x.^2/9+y.^2/4-1)
x=@(u,v)3*cos(u);
y=@(u,v)2*sin(u);
z=@(u,v)v;
subplot(122),fsurf(x,y,z)

6,其他曲面图形

复制代码
clc,clear,close all
r=@(s,t)2+sin(7*s+5*t);
x=@(s,t)r(s,t).*cos(s).*sin(t);
y=@(s,t)r(s,t).*sin(s).*cos(t);
z=@(s,t)r(s,t).*cos(t);
fmesh(x,y,z,[0,2*pi,0,pi]),alpha(0.8)
复制代码
 clc,clear,close all
fmesh(@(x,y) erf(x)+cos (y),[-5,0,-5,5]), hold on
fmesh (@ (x,y)sin(x)+cos(y),[0,5,-5, 5]), hold off

7,四维数据曲面图

相关推荐
wrangler_csdn几秒前
如何一键将 PDF 转为 Word?
人工智能·安全·ai
#卢松松#4 分钟前
这是我们在企业微信上和松松云后台对接的一个功能
人工智能·创业创新
城市直通车6 分钟前
聚焦新质生产力:火山引擎豆包大模型落地峰会赋能杭州数字经济
人工智能·火山引擎
TG:@yunlaoda360 云老大8 分钟前
火山引擎升级AI云原生套件:AgentKit、ServingKit、TrainingKit全链路加速AI应用落地
人工智能·云原生·火山引擎
恒点虚拟仿真12 分钟前
AI+XR赋能智慧研创中心:打破职业教育实训困境,推动产教深度融合
人工智能·虚拟仿真·产教融合·职业教育·虚拟仿真实训·ai+xr·智慧研创中心
字节数据平台13 分钟前
极氪与火山引擎深化合作,Data Agent赋能车辆数据管理效率
人工智能·火山引擎
m0_7482480237 分钟前
基于 C++ 的高性能批量媒体文件压缩程序
c++·人工智能·数据挖掘
刀客Doc1 小时前
复盘Netflix的2025:广告业务、线下业态和视频播客
人工智能·音视频
爱浦路 IPLOOK1 小时前
高校实验室建设方案解析:从规划到落地的全流程指南
大数据·人工智能
AI浩1 小时前
【Block总结】MEEM,多尺度边缘增强模块|即插即用|ACM 2024
人工智能·深度学习