matlab 三维 作图 坐标轴_MATLAB学习——MATLAB中的三维绘图指令

d5858efc80d5a0c9140bf2600c912b04.png

98d4d9e4a3418f2e6277f62ae7b2573d.png

2 基本XYZ立体绘图命令

  • mesh和plot是三度空间立体绘图的基本命令,mesh可画出立体网状图,plot则可画出立体曲面图,两者产生的图形都会依高度而有不同颜色。下列命令可画出由函数

dc7cd35131e7ebb35507d928ecd4946a.png

形成的立体网状图:

x=linspace(-2, 2, 25); % 在x轴上取25点

y=linspace(-2, 2, 25); % 在y轴上取25点

[xx,yy]=meshgrid(x, y); % xx和yy都是25x25的矩阵

zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵

mesh(xx, yy, zz); % 画出立体网状图

5153aa2acb625c9bad253f23791cad36.png
  • surf和mesh的用法类似:

x=linspace(-2, 2, 25); % 在x轴上取25点

y=linspace(-2, 2, 25); % 在y轴上取25点

[xx,yy]=meshgrid(x, y); % xx和yy都是25x25的矩阵

zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是25x25的矩阵

surf(xx, yy, zz); % 画出立体曲面图

512567a4da60ae34098ef8fcf271b9e0.png
  • peaks

为了方便测试立体绘图,MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为:

c502a8f7428388fda95e836729349881.png

要画出此函数的最快方法即是直接键入peaks:

peaks

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)

7c2d4a0d6162ac7f960e068b24d0ee32.png
  • 我们亦可对peaks函数取点,再以各种不同方法进行绘图。meshz可将曲面加上围裙:

[x,y,z]=peaks;

meshz(x,y,z);

aee3b2f1dba64038b5b9a8c553ccdccc.png
  • waterfall可在x方向或y方向产生水流效果:

[x,y,z]=peaks;

waterfall(x,y,z);

c6dc28d13019c8a43b07b583e3b62c0c.png
  • 下列命令产生在y方向的水流效果:

[x,y,z]=peaks;

waterfall(x',y',z');

4cb8022cb07c78aec58d976d1610aede.png
  • meshc同时画出网状图与等高线:

[x,y,z]=peaks;

meshc(x,y,z);

652318e78a1e8df680ecc178ced1f524.png
  • surfc同时画出曲面图与等高线:

[x,y,z]=peaks;

surfc(x,y,z);

34ce1bc290156304ae3962ff85366298.png
  • contour3画出曲面在三度空间中的等高线:

contour3(peaks, 20);

b06bb0d2e5ae69d7e15a8f3ea0d3d855.png
  • contour画出曲面等高线在XY平面的投影:

contour(peaks, 20);

63aaa9e1f78ef4b3180fd0ceaddb4158.png
  • plot3可画出三度空间中的曲线:

t=linspace(0,20*pi, 501);

plot3(t.*sin(t), t.*cos(t), t);

416337eb1be7f8cc7db77577283201f6.png

亦可同时画出两条三度空间中的曲线:

t=linspace(0, 10*pi, 501);

plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t);

040071970627a3979622606e04500d61.png

3 三维绘图的主要功能

绘制三维线图绘制等高线图绘制伪彩色图绘制三维网线图 绘制三维曲面 图、柱面图和球面图 绘制三维多面体并填充颜色

(一)三维线图

plot3 —— 基本的三维图形指令
调用格式:
plot3(x,y,z) —— x,y,z是长度相同的向量
plot3(X,Y,Z) —— X,Y,Z是维数相同的矩阵
plot3(x,y,z,s) —— 带开关量
plot3(x1,y1,z1,’s1’, x2,y2,z2,’s2’, …)
二维图形的所有基本特性对三维图形全都适用。 定义三维坐标轴大小
axis([xmin xmax ymin ymax zmin zmax ])
grid on(off) 绘制三维网格
text(x,y,z,‘string’) 三维图形标注
子图和多窗口也可以用到三维图形中
例:绘制三维线图
t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),’r:’)

(二)三维饼图

pie3([4 3 6 8 9])

(三)三维多边形

fill3 = fill —— 三维多边形的绘制和填色与二维多边形完全相同调用格式
fill3(x,y,z,‘s’) —— 与二维相同
例: 用随机顶点坐标画出5个粉色的三角形,并用黄色的○表示顶点
y1=rand(3,5);y2=rand(3,5);y3=rand(3,5);
fill3(y1,y2,y3,’m’);hold on;plot3(y1,y2,y3,’yo’)

(四)三维网格图

mesh —— 三维网线绘图函数调用格式:
mesh(z) —— z为n×m的矩阵,x与y坐标为元素的下标
mesh(x,y,z) —— x,,y,z 分别为三维空间的坐标位置
例,矩阵的三维网线图
z=rand(6);
0.8808 0.0729 0.4168 0.7694 0.3775 0.4776
0.3381 0.7101 0.0964 0.6352 0.3826 0.7086
0.1895 0.8791 0.6747 0.8965 0.6876 0.2380
0.7431 0.3594 0.5626 0.8784 0.1217 0.3910
0.7189 0.0899 0.8130 0.4865 0.0768 0.9759
0.8792 0.1610 0.8782 0.1131 0.1433 0.6288
z=round(z)
1 0 0 1 0 0
0 1 0 1 0 1
0 1 1 1 1 0
1 0 1 1 0 0
1 0 1 0 0 1
1 0 1 0 0 1
mesh(z);
例:8阶hadamard矩阵的网线图
h2=[1 1;1 -1];h4=[h2 h2;h2 -h2]
h8=[h4 h4;h4 -h4]
1 1 1 1 1 1 1 1
1 -1 1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 -1
1 -1 -1 1 1 -1 -1 1
1 1 1 1 -1 -1 -1 -1
1 -1 1 -1 -1 1 -1 1
1 1 -1 -1 -1 -1 1 1
1 -1 -1 1 -1 1 1 -1
mesh(h8)
生成坐标 —— [X,Y]=meshgrid(x,y)
表达式点运算 —— Z=X.^2+Y.^2
X,Y是n×m的矩阵,维数可任 定
X— n
Y— m
Z—
默认方位角:37。5º,俯角30º。
meshgrid—— 网线坐标值计算函数
z=f(x,y) — 根据x,y坐标找出z的高度
例:绘制z=x2+y2的三维网线图形
x=-5:5; y=x;
[X,Y]=meshgrid(x,y)
Z=X.^2+Y.^2
mesh(X,Y,Z)
colormap( [R,G,B])—— 色图设定函数
matlab 的颜色数据集合为红、绿、兰三颜色矩阵[R,G,B],维数 m×3
r,g,b在[0 1]区间连续取值,理论上颜色种类可达无穷多种
matlab使用三维向量表示一种颜色,常用颜色数据见下表 饱和色
[0 0 0] — 黑色
[0 0 1] — 兰色
[0 1 0] — 绿 色
[0 1 1] — 浅兰
[1 0 0] — 红色
[1 0 1] — 粉红
[1 1 0] — 黄 色
[1 1 1] — 白色 调和色
[0.5 0.5 05] — 灰色
[0.5 0 0] — 暗 红色
[1 0.62 0.4] — 铜色
[0.49 1 0.8] — 浅绿
[0.49 1 0.83] —宝石兰

(五)三维曲面图

surf —— 三维曲面绘图函数,与网格图看起来一样
与三维网线图的区别:
网线图:线条有颜色,空挡是黑色的(无颜色)
曲面图:线条是黑色的,空挡有颜色(把线条之间的空挡填充颜色,沿z轴按每一网格变化调用格式:
surf(x,y,z) —— 绘制三维曲面图,x,y,z为图形坐标向量
例:
[X,Y,Z]=peaks(30)
※peaks为matlab
自动生成的三维测
试图形
surf(X,Y,Z)
三维网线图作图要领
surfc(X,Y,Z) — 带等高线的曲面图
[X,Y,Z]=peaks(30);surfc(X,Y,Z)
surfl(X,Y,Z) —— 被光照射带阴影的曲面图
[X,Y,Z]=peaks(30);surfl(X,Y,Z)
cylinde(r,n) — 三维柱面绘图函数
r 为半径;n为柱面圆周等分数
例:绘制三维陀螺锥面
t1=0:0.1:0.9;
t2=1:0.1:2;
r=[t1 -t2+2];
[x,y,z]=cylinder(r,30);
surf(x,y,z);
grid
 为球面等分数,缺省为20
例:绘制三维球面
[x,y,z]=sphere(30);surf(x,y,z);

(六)图形修饰方法

a. 图形颜色的修饰
matlab 有极好的颜色表现功能,其颜色数据又构成了一维新的数据集合,也可称为四维图形
colormap(MAP) —— 色图设定函数,MAP为m×3维色图矩阵
图形颜色可根据需要任意生成,也可用matlab配备的色图函数matlab 的色图函数:
hsv —— 饱和值色图
gray —— 线性灰度色图
hot —— 暖色色图
cool —— 冷色色图
bone —— 兰色调灰色图
copper —— 铜色色图
pink —— 粉红色图
prism —— 光谱色图
jet —— 饱和值色图II
flag —— 红、白、蓝交替色图
shading faceted — 网格修饰,缺省方式
shading flat —— 去掉黑色线条,根据小方块的值确定颜色
shading interp —— 颜色整体改变,根据小方块四角的值差补过度点的值确定颜色b. 图形效果修饰
透视与消隐—— 用于网线图
裁剪修饰 ——用于网线图、曲面图
视角修饰 —— 观察不同角度的三维视图其它修饰:
i. 水线修饰
ii. 等高线修饰
透视与消隐
p=peaks(30); mesh(p);hidden on
视角修饰(函数view(az,el))
az ----方位角;el ---- 俯视角
省缺值为:az=-37.5; el=30
例。观察不同视角的波峰图形
z=peaks(40);
subplot(2,2,1);mesh(z);
subplot(2,2,2);mesh(z);view(-15,60);
subplot(2,2,3);mesh(z);view(-90,0);
subplot(2,2,4);mesh(z);view(-7,-10);其它修饰:
i. 水线修饰 (waterfall)
waterfall(peaks(30))
ii. 等高线修饰
二维
contour(Z,n)-------- 绘制n条等高线
C= contourc(Z,n)------计算n条等高线的坐标
Clable(c)------给等高线加标注
例、 在二维平面上绘制peaks函数的10条等高线
contour(peaks,10);
C=contourc(peaks,10);clabel(C)

(七)伪彩色图

pcolor —— 常用于以二维平面图表现三维图形的效果,用颜色表示三维图形的高度。

(八)动画效果

动画生成的步骤
创建帧矩阵 —— moviein
对动画中的每一帧生成图形,并把它们放到帧矩阵中 —— getframe
从帧矩阵中回放动画

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534083.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

说说python程序的执行过程_表示说的词语

展开全部1、奉劝 [ fng qun ] 释义:敬辞。郑重劝说62616964757a686964616fe58685e5aeb931333365653331。 造句:我们厌恶那些阴险的恶人,奉劝他们改恶为善,才能得到社会的原谅! 2、劝告 [ qun go ] 释义:拿道…

HTML4基本编译原理,Stanford公开课《编译原理》学习笔记(1~4课)

课程里涉及到的内容讲的还是很清楚的,但个别地方有点脱节,任何看不懂卡住的地方,请自行查阅经典著作《Compilers——priciples, Techniques and Tools》(也就是大名鼎鼎的龙书)的对应章节。一. 编译的基本流程完整的编译的5个基本步骤包括lex…

rocketmq 消息指定_SpringBoot 整合 RocketMQ 如何实现消息生产消费?

有时候我们在使用消息队列的时候,往往需要能够保证消息的顺序消费,而RocketMQ是可以支持消息的顺序消费的。RocketMQ在发送消息的时候,是将消息发送到不同的队列中,然后消费端从多个队列中读取消息进行消费,很明显&…

mysql怎么看实例名_南方“中看不中吃”的前4名水果,莲雾只是垫底,你怎么看?...

水果很多人都喜欢吃,南方人可以说是最幸福的,因为南方的水果种类有很多种,而且水果的价格也很便宜,一年四季都能吃到便宜又好吃的水果,南方的很多水果,北方人可能都没有吃过,虽然南方的水果种类…

vuex中的值变化 页面重新渲染_浅谈浏览器的渲染过程,重绘与回流

浏览器的渲染过程 首先,我们先来了解一下浏览器的渲染过程是什么样的,也就是说浏览器把一堆代码呈现到页面上的过程是什么样子的,浏览器采用流式布局模型(Flow Bsaed Layout),根据下图,我们可以总结出浏览器的渲染步骤…

vc 将已有项目打包成dll 并应用于其他项目_.NET混淆器 Dotfuscator使用教程:保护你的应用之存档报告文件...

Dotfuscator是一款.NET混淆器和压缩器,防止你的应用程序被反编译。本篇文章将继续上一篇文章与大家分享保护应用程序的后续三个部分:存档报告文件、加强保护和替代方法。存档报告文件作为构建的一部分,Dotfuscator会生成报告文件(在Dotfuscat…

html文件内容搜索,html读出文本文件内容

html读出文本文件内容更新时间:2007年01月22日 00:00:00 作者:Function bytes2BSTR(vIn)strReturn ""For i 1 To LenB(vIn)ThisCharCode AscB(MidB(vIn,i,1))If ThisCharCode strReturn strReturn & Chr(ThisCharCode)ElseNextCharC…

python 定义变量_python-003-变量

1.变量的定义python中,在程序运行时,可以随着程序的运行更改的量成为变量.简单理解: 变量就是用来临时存储数据的容器.可以认为好比是 逛超市 买面条 使用购物车 装面条变量 -> 购物车数据 -> 面条2.变量的使用# 第一次输入一个10 num1 10 # 第二次输入一个20 num2 20 …

苹果11是高通基带吗_最强对抗!小米11对抗三星、苹果华为等最高旗舰|喜欢小米吗?...

哈喽,您好!我是原呵呵,点点关注吧,更多精彩内容等着您小米很快就会展示了2021年的手机,该公司通常会在2月份推出该季节的首个旗舰,但新的小米米11已向前推进了几个月,并成为了首个采用骁龙888处…

python split函数 空格_python上手--10行代码读懂红楼梦

取名10行代码看懂红楼梦,是将介绍使用python代码来读红楼梦获取其主要人物。这里的思想就是词频统计,通过分析红楼梦小说文字中出现最多的词语,来概括说明红楼梦的核心人物和事情。实际上如果你能跟着往下看,就开始进入了自然语言…

k8s 安装nfs_K8s--06 K8s数据持久化

K8s数据持久化数据持久化 Volume介绍Volume介绍:Volume是Pad中能够被多个容器访问的共享目录Kubernetes中的Volume不Pad生命周期相同,但不容器的生命周期丌相关Kubernetes支持多种类型的Volume,并且一个Pod可以同时使用任意多个VolumeVolume类…

matlab为自定义后缀文件设置图标_【V3.0更新】| 这可能是全网最好用的文件管理神器了......

?点击关注Excel表哥公众号使用Excel制作自带超链接的文件目录索引确实可以很好地帮忙大家管理电脑里的文件。在此分享几个各行各业朋友们的使用截图:▲一个硬件工程师朋友的使用截图▲一个医院工作人员的数据统计文件管理▲学生朋友用来管理论文文献▲VBA编程爱好者…

#中队列的数据结构_数据结构与算法拓展(一)

栈与队列申明:由于篇幅限制,文章可能有些简略,如果大家想要详细了解,请一定要百度一下,并阅读例题,完成习题绪言:计算机科学在过去的数十年内发展飞速,各种新颖的技术纷至沓来&#…

display属性_Numpy知识点(1)讲解实操安装/属性/数组创建/运算

# 1、安装包# pip install numpy #原生python安装# conda install numpy #Anaconda的安装# 使用Numpyimport numpy as np a np.arange(15) #生成0-14的一维数组display(a)display( )和print( )都是打印,在大多数编程软件上都使用print,jupyter notebook中我们可以使用d…

springboot怎么设置多个路径全部跳转首页_SpringBoot(四)—Web开发(二)

这篇文章准备来记录一下一个restful风格小项目的流程,上篇文章为它做了一个基础,如果有什么错误希望大家能够指出。目录首页国际化登录拦截器CRUD一、首页在访问localhost:8080/的时候,默认访问首页在自己配置的SpringMVC的配置类中Configura…

计算机英语六级,英语六级作文范文:计算机

英语六级考试时间越来越近了,所以在备考的时候就更要掌握技巧,勤加练习。在备考英语六级写作时,学习一篇好的范文,会给复习带来事半功倍的效果。Using a computer every day can have more negative than positive effects on you…

python软件_Python自制照片美颜软件~

下午被一个骗子恶心到了,本来听公开课听得好好的,搞得心情极差,于是就中断了网课,听听音乐,写一下文章吧!前期准备①Python编译环境以及Python代码编辑器Pycharm的安装:请在【微信公众后台】找到…

数据集怎么导出_PCA算法 | 数据集特征数量太多怎么办?用这个算法对它降维打击...

今天是机器学习专题的第27文章,我们一起来聊聊数据处理领域的降维(dimensionality reduction)算法。我们都知道,图片格式当中有一种叫做svg,这种格式的图片无论我们将它放大多少倍,也不会失真更不会出现边缘模糊的情况。原因也很简…

常用命令_GIT常用命令大全

Git 是一个很强大的分布式版本控制系统。它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势。克隆远程文件:git clone https://gitee.com/abcd/codefile.git projectgit checkout -b dev(本地分支名称) origin/dev(远程分支名称…

nvidia显示设置不可用_Nvidia显示设置不可用,您当前未使用连接到NVIDIA GPU的显示器的解决方法...

相信不少用户遇到这样一个问题,就是新购买的台式机电脑,配置达标的情况下,玩游戏出现卡顿不流畅的现象,准备在NVIDIA控制面板查看是否设置的问题,在打开NVIDIA控制面板的时候,提示了“Nvidia显示设置不可用…