matlab三维图形的绘制[通俗易懂]

matlab三维图形的绘制[通俗易懂]采用matlab进行三维图绘制mesh函数:网格图mesh(x,y,z)x是n维向量,y是m维向量,z是m*n维向量等高线,底座surf函数:曲面符号隐函数绘图

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

采用matlab进行三维图绘制

1.mesh函数:网格图

mesh(x,y,z)

x是n维向量,y是m维向量,z是m*n维向量

x=1:0.1:10;
y=1:0.1:10;
[x, y] = meshgrid(x,y);
z=x.^2-y.^2;
mesh(x,y,z)

在这里插入图片描述
除此之外还有
meshc函数:除了mesh函数图形外,还在xy平面上绘制曲面的等高线。
meshz函数:除了mesh函数图形外,还在xy平面上绘制曲面的底座。

2.surf函数:曲面

绘制出在某一区间内完整的曲面图
surf函数和mesh函数的的调用格式基本相同 两者的区别: mesh绘出彩色的线,surf绘出彩色的面,下面进行对比

[x,y] = meshgrid(-5:0.5:5); % 快速生成网格所需的数据
tem = sqrt(x.^2+y.^2)+1e-12; 
z = sin(tem)./tem; % 如果不对tem处理,那么z的最中间的一个值 0/0 = NaN
subplot(1,2,1)
mesh(x,y,z)
xlabel('x轴'); ylabel('y轴'); zlabel('z轴'); % 加上坐标轴的标签
axis vis3d % 冻结屏幕高宽比,使得一个三维对象的旋转不会改变坐标轴的刻度显示
title('mesh(x,y,z)')
subplot(1,2,2)
surf(x,y,z) % (X(j), Y(i), Z(i,j))是线框网格线的交点
xlabel('x轴'); ylabel('y轴'); zlabel('z轴'); % 加上坐标轴的标签
axis vis3d % 冻结屏幕高宽比,使得一个三维对象的旋转不会改变坐标轴的刻度显示
title('surf(x,y,z)')

在这里插入图片描述
除此之外还有类似的函数:
surfc函数:除了surf函数图形外,还在xy平面上绘制曲面的等高线。
surfl函数:加上了灯光效果,看起来自然点。

设置色彩模式
shading 是用来处理色彩效果的,分以下三种: shading faceted是默认的模式 shading flat 在faceted的基础上去掉
图上的网格线 shading interp 在flat的基础上进行色彩的插值处理,使色彩平滑过渡
在这里插入图片描述

3.contour函数: 绘制等高线图

contour(x,y,z,n) 在x-y平面绘制等高线图,n是一个标量,那么Matlab会将等高线的层数设置为n,且会自动选择层所在的高度。
如果不加n,会自动设置层数。

[x,y] = meshgrid(-3:0.1:3); 
% 一个语句太长时,可以加上三个点然后在下一行继续写
z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2)... 
 -10* (x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...
 - 1/3*exp(-(x+1).^2 - y.^2); % matlab中内置的peaks函数,常常作为演示使用
% edit peaks
contour(x,y,z)
xlabel('x轴'); ylabel('y轴'); % 加上坐标轴的标签

在这里插入图片描述
contourf函数:和contour函数类似,只不过画出来的等高线图有颜色填充,然后再后面加上showText和on参数使得数值显示。
contourf(x,y,z,'ShowText','on')

在这里插入图片描述
contour3函数:3维等高线图,等高线不再投影到x-y平面
contour3(x,y,z,levels,‘ShowText’,‘on’)
xlabel(‘x轴’); ylabel(‘y轴’); zlabel(‘z轴’); % 加上坐标轴的标签

4 .绘制符号函数图

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

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) % 绘制三维空间下的折线图

在这里插入图片描述定义符号表达式,利用fplot3(x,y,z)可以得到结果

syms t % 符号是t
x = sin(t)+1;
y = cos(t); 
z = t;
fplot3(x,y,z) % 默认t的变化范围为[-5 5]

fmesh() 三维曲面网格图,效果类似mesh函数

syms x y 
z=x^2+y^2;
fmesh(z) % 默认x的变化范围和y的变化范围都是[-5 5]

在这里插入图片描述
fsurf 三维曲面图

syms x y 
z=x^2+y^2;
fsurf(z) % 默认x的变化范围和y的变化范围都是[-5 5]

在这里插入图片描述
效果和上面的相比就是多了颜色。
fcountour()绘制登高线图

syms x y 
z=x^2+y^2;
fcontour(z) % 默认x的变化范围和y的变化范围都是[-5 5]

在这里插入图片描述

5.隐函数绘图

fimplicit(f,interval)
指定绘图区间[]依次是x,y,z的上下范围

% 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轴'); % 加上坐标轴的标签

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183273.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 在 vscode 中使用 Git :拉取、提交、克隆

    在 vscode 中使用 Git :拉取、提交、克隆PS:转载此文后,网友在评论中提到还有其它方法,不过目前个人尚在研究中,有兴趣的朋友们也可自行一探究竟…————————————————————————-1、将代码放到码云到码云里新建一个仓库,完成后码云会有一个命令教程按上面的来就行了 码云中的使用教程:Git全局设置:…

    2022年6月29日
    500
  • 11. shell循环 for

    11. shell循环 forshell循环for一级目录二级目录三级目录一级目录二级目录三级目录

    2022年7月24日
    5
  • charles打断点有什么用_charles打断点后 如何执行

    charles打断点有什么用_charles打断点后 如何执行前言Charles是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒种的延时。此时,我们只需网上找一个注册码即可解

    2022年8月6日
    1
  • Transfer: Javascript实现网页水印(非图片水印)

    Transfer: Javascript实现网页水印(非图片水印)

    2021年8月5日
    47
  • 河北对口计算机录取分数线_河北对口计算机专科院校名单

    河北对口计算机录取分数线_河北对口计算机专科院校名单技校网专门为您推荐的类似问题答案问题1:2009年河北对口计算机高考分数线360问题2:谁能告诉我湖南职高计算机专业对口升学本科和专科分数线湖南省2010年普通高校职高对口招生录取控制分数线代码专业门类本科专科71师范44820072种植54473养殖52374机电56675电子电工50676计算机55877建筑48278旅游48981…

    2022年9月13日
    0
  • 数字证书 CA_数字证书申请

    数字证书 CA_数字证书申请文章目录1.证书1.1证书的应用场景1.2证书标准规范X.5091.2.1证书规范1.2.2证书格式1.2.3CA证书1.3公钥基础设施(PKI)1.3.1什么是公钥基础设施1.3.2PKI的组成要素用户认证机构(CA)仓库1.3.3各种各样的PKI2.Fabric-ca2.1简介2.2基本组件2.3安装2.4初始化&快速启动2.5服务端配置文件解析2.6…

    2022年10月16日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号