
数学建模更新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);
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月16日 14时51分17秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Edge浏览器:你的的内核我的芯
2021-05-07
【考研英语-基础-简单句】简单句的核心变化_谓语情态
2021-05-07
Jetson AGX Xavier硬件自启动
2021-05-07
统计字符数
2021-05-07
实现一个简易Vue(三)Compiler
2021-05-07
仿小米商城(上)
2021-05-07
自动安装服务2
2021-05-07
HTML 和 CSS 简单实现注册页面
2021-05-07
(SpringMVC)springMVC.xml 和 web.xml
2021-05-07
jQuery中的动画
2021-05-07
1.2.3 项目、项目集、项目组合以及运营管理之间的关系
2021-05-07
【△重点△】LeetCode - 4. 寻找两个正序数组的中位数——二分查找
2021-05-07
LeetCode - 5. 最长回文子串——字符串、动态规划
2021-05-07
全局锁和表锁 :给表加个字段怎么有这么多阻碍?
2021-05-07
事务到底是隔离的还是不隔离的?
2021-05-07
二分查找与插入排序的结合使用
2021-05-07
892 三维形体的表面积(分析)
2021-05-07
16 最接近的三数之和(排序、双指针)
2021-05-07
279 完全平方数(bfs)
2021-05-07