数学建模更新13(MATLAB绘制三维图【下】)

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

1.plot3函数

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

%% plot3函数 (类似于plot函数,实际上可以认为画的是三维空间下的折线图)
% t = 0: 0.1: 4*pi;   % 符号是t,t从0变动到4pi,间隔设置为0.1
t = 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  % 符号是t
x = sin(t)+1;
y = cos(t); 
z = t;
fplot3(x,y,z) % 默认t的变化范围为[-5 5]
fplot3(x,y,z,[0 4*pi]) % 修改t的变化范围为04pi
% 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)   % 设置每个方向计算的点数

在这里插入图片描述

% 画一朵花花送给亲爱的Ta
syms u v
r = 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)   % 设置每个方向计算的点数

在这里插入图片描述

% 画一朵花花送给亲爱的Ta
syms u v
r = 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);

在这里插入图片描述

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值