数学建模更新13(MATLAB绘制三维图【下】)
发布日期:2021-05-07 23:24:45 浏览次数:25 分类:精选文章

本文共 2183 字,大约阅读时间需要 7 分钟。

MATLAB绘制三维图

一.符号函数的三维图形绘制

1.plot3函数

类似于plot函数,实际上可以认为画的是三维空间下的折线图

%% plot3函数 (类似于plot函数,实际上可以认为画的是三维空间下的折线图)% t = 0: 0.1: 4*pi;   % 符号是t,t从0变动到4pi,间隔设置为0.1t = linspace(0,4*pi,100);  % 符号是t,t从0变动到4pi,等分为100个点x = sin(t)+1; % 利用t计算x的值y = cos(t);  % 利用t计算y的值z = t; % 利用t计算z的值plot3(x,y,z)  % 绘制三维空间下的折线图plot3(x,y,z,'r--') % close  % 关闭图形

在这里插入图片描述

2.fplot3函数

%% fplot3函数 (2016a版本推出的函数,老版本Matlab用的是ezplot3函数,未来版本可能会被淘汰)syms t  % 符号是tx = sin(t)+1;y = cos(t); z = t;fplot3(x,y,z) % 默认t的变化范围为[-5 5]fplot3(x,y,z,[0 4*pi]) % 修改t的变化范围为0至4pi% close  % 关闭图形

在这里插入图片描述

3.fmesh 三维网格图

syms x y z=x^2+y^2;fmesh(z) % 默认x的变化范围和y的变化范围都是[-5 5]fmesh(z,[-2 2 -4 4]) % 修改x的变化范围和y的变化范围分别为[-2 2]和[-4 4]% axis vis3d  % 冻结屏幕高宽比,使得一个三维对象的旋转不会改变坐标轴的刻度显示% axis equal  % 设置屏幕高宽比,使得每个坐标轴的具有均匀的刻度间隔fmesh(z,[-2 2 -4 4],'MeshDensity',11)   % 设置每个方向计算的点数

在这里插入图片描述

% 画一朵花花送给亲爱的Tasyms u vr = 2 + sin(7.*u + 5.*v);x = r.*cos(u).*sin(v);y = r.*sin(u).*sin(v);z = r.*cos(v);% 可以直接用乘号% r = 2 + sin(7*u + 5*v);% x = r*cos(u)*sin(v);% y = r*sin(u)*sin(v);% z = r*cos(v);fmesh(x,y,z,[0 2*pi 0 pi])alpha(0.8)

在这里插入图片描述

4.fsurf 三维曲面图

syms x y z=x^2+y^2;fsurf(z) % 默认x的变化范围和y的变化范围都是[-5 5]fsurf(z,[-2 2 -4 4]) % 修改x的变化范围和y的变化范围分别为[-2 2]和[-4 4]% axis vis3d  % 冻结屏幕高宽比,使得一个三维对象的旋转不会改变坐标轴的刻度显示% axis equal  % 设置屏幕高宽比,使得每个坐标轴的具有均匀的刻度间隔fsurf(z,[-2 2 -4 4],'MeshDensity',11)   % 设置每个方向计算的点数

在这里插入图片描述

% 画一朵花花送给亲爱的Tasyms u vr = 2 + sin(7.*u + 5.*v);x = r.*cos(u).*sin(v);y = r.*sin(u).*sin(v);z = r.*cos(v);fsurf(x,y,z,[0 2*pi 0 pi])

在这里插入图片描述

5.fcontour 绘制等高线

syms x y z=x^2+y^2;fcontour(z) % 默认x的变化范围和y的变化范围都是[-5 5]fcontour(z,[-2 2 -4 4]) % 修改x的变化范围和y的变化范围分别为[-2 2]和[-4 4]fcontour(z,'fill','on') % 在等高线线条间进行填充

在这里插入图片描述

二.Matlab绘制隐函数的图形

1. fimplicit3(f)

在默认区间 [-5 5]上绘制 f(x,y,z) = 0 定义的三维隐函数。

% fimplicit3(f) 在默认区间 [-5 5]上绘制 f(x,y,z) = 0 定义的三维隐函数。f = @(x,y,z) x.^2 + y.^2 - z.^2;  % 函数句柄(在拟合那一节里面介绍过),这里要注意,要用点运算符fimplicit3(f)xlabel('x轴');  ylabel('y轴');  zlabel('z轴');  % 加上坐标轴的标签interval = [-5 5 -5 5 0 5];   % 指定范围fimplicit3(f,interval)fimplicit3(f,interval,'EdgeColor', 'none', 'FaceAlpha',0.5)  % 去掉边缘颜色,调整透明度

在这里插入图片描述

2.fimplicit3(f,interval)

为 x、y 和 z 指定绘图区间。

f = @(x,y,z) (x.^2+(9/4)*y.^2+z.^2-1).^3-x.^2.*z.^3-(9/80)*y.^2.*z.^3;fimplicit3(f,[-1.5,1.5,-1.5,1.5,-1.5,1.5],'EdgeColor', 'none', 'FaceAlpha',0.5);

在这里插入图片描述

上一篇:数学建模更新14(MATLAB运算)
下一篇:数学建模更新13(MATLAB绘制三维图【上】)

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月16日 14时51分17秒