MATLAB 13三维图形.ppt
2024版matlab教程(全)资料ppt课件
进行通信系统的建模、仿真和分析。
谢谢聆听
B
C
变量与赋值
在MATLAB中,变量不需要事先声明,可以 直接赋值。变量名以字母开头,可以包含字 母、数字和下划线。
常用函数
MATLAB提供了丰富的内置函数,如sin、 cos、tan等三角函数,以及abs、sqrt等数 学函数。用户可以通过help命令查看函数的
D
使用方法。
02 矩阵运算与数组操作
错误处理
阐述try-catch错误处理机制的语法、 执行流程及应用实例。
04
函数定义与调用
函数概述
阐述函数的概念、作用及分类,包括内置函数和 自定义函数。
函数调用
深入剖析函数的调用方法,包括直接调用、间接 调用及参数传递等技巧。
ABCD
函数定义
详细讲解自定义函数的定义方法,包括函数名、 输入参数、输出参数及函数体等要素。
拟合方法
利用已知数据点构造近似函数,如最小二乘法、多项 式拟合、非线性拟合等。
插值与拟合的比较
插值函数经过所有数据点,而拟合函数则追求整体上 的近似。
数值积分与微分
01
数值积分方法
利用数值技术计算定积分的近似 值,如矩形法、梯形法、辛普森 法等。
02
数值微分方法
通过数值技术求解函数的导数或 微分,如差分法、中心差分法、 五点差分法等。
02
01
矩阵运算
加法与减法
对应元素相加或相减,要求矩阵 大小相同
乘法
使用`*`或`mtimes`函数进行矩阵 乘法,要求内维数相同
点乘与点除
使用`.*`、`./`进行对应元素相乘或 相除,要求矩阵大小相同
特征值与特征向量
第4章 MATLAB绘图ppt课件
其中x1—y1对应一条曲线,x2—y2对应 另一条曲线。横坐标的标度相同,纵坐 标有两个,左纵坐标用于x1—y1数据对, 右纵坐标用于x2—y2数据对。
精品课件
目录 17
例4.4 用不同标度在同一坐标内绘制曲线 y1=e-0.5xsin(2πx)
及曲线y2=1.5e-0.1xsin(x)。 程序如下:
x1=(0:12)/2;
y3=2*exp(-0.5*x1).*sin(2*pi*x1);
plot(x,y1,'g:',x,y2,'b--',x1,y3,'rp');
目录
精品课件
16
4.双纵坐标函数plotyy
plotyy函数是MATLAB 5.X新增的函数。 它能把函数值具有不同量纲、不同数量 级的两个函数绘制在同一坐标中。调用 格式为:
plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐
标和y坐标数据。条件是元素个数能对应。
精品课件
目录 4
例4.1 在0≤X≤2区间内,绘制 曲线y=2e-0.5xsin(2πx)。
程序如下:>> x=0:pi/100:2*pi;
y=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y)
可搭配使用,如选项“ro” 表示绘制红色的圆划线,“y-”表
示黄色的实划线。
精品课件
14
例 用不同线型和颜色在同一坐标内绘制曲 线y=sinx,y=cosx的图像。
程序如下:
x=linspace(0,2*pi,100); plot(x,sin(x),‘kh’,x,cos(x),‘gp’) %正、余弦曲
MATLAB三维绘图功能课堂PPT
contour3(peaks,20)
10
5
0
为了方便测试立体绘图,MATLAB提供了一个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) >> [x,y,z]=peaks; >> mesh(x,y,z) >>surf(x,y,z)
14
15
(五)三维曲面图
surf —— 三维曲面绘图函数,与网格图看起来一样 与三维网线图的区别: 网线图:线条有颜色,内部是黑色的(无颜色) 曲面图:线条是黑色的,内部有颜色(把线条之间的空
挡填充颜色,沿z轴按每一网格变化)
16
调用格式: surf(x,y,z) —— 绘制三维曲面图,x,y,z为图形坐标向量 peaks 函数
4
(二) 三维饼图 pie3([4 3 6 8 9])
5
(三)三维多边形
fill3 = fill —— 三维多边形的绘制和填色与二维多边形 完全相同
调用格式: fill3(x,y,z,‘s’) —— 与二维相同
6
例: 用随机顶点坐标画出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')
第五章MATLAB的三维图形
Ql kd xa Ps Pl
二、用 camlight 函数在摄影坐标系中创建 和删除光照对象 camlight (‘headlight’) camlight (‘right’) camlight (‘left’) camlight (az.el) camlight (…‘style’) style=local infinite
7.2 向量图
一、二维向量图 quiver 二、三维向量图 quiver3
7.3 剖面图
一、剖面图 slice 二、切片等值线图 contourslice 三、切片流线图 streamslice
7.4 流线图
一、常规流线图 streamline 二、流锥图 coneplot 三、流沙图 streamparticles 四、流带图 streamribbon 五、流管图 stremtube 六、卷曲图 curl
二元函数简捷绘图指令 ezsurf(F,dom_f,ngrid) F:二元函数,含x,y dom_f:取二元数组[a,b]时,x=[a,b],y=[a,b] 取四元数组[a,bc,d]时, x=[a,b],y=[c,d] ngrid:格点数,缺省为60
例:零开口四通滑阀流量方程:Kd为阀系 数,Xa为阀的开口,Ps为供油压力,Pl 为负载压力,设Kd=0.01m3· -1/2 ·-1, N s Ps=14MPa,Xa=0~0.002m,Pl=0~14MPa 绘制 Q l 的曲面图。程序:ex_71.m
第七章 MATLAB的三维图形
Demo/Graphics/3-D surface plots Demo/Graphics/3-D 等值线图 contour 二、等值线的标注 clabel 三、等值线的填充 contourf 四、三维等值线图 contour3
MatlabPPT课件
析、可视化等。
发展历程
02
从1980年代初期推出至今,不断更新迭代,增加功能和性能。
影响力
03
广泛应用于科研、教育、工程等领域,成为科学计算和工程分
析的重要工具。
Matlab应用领域与优势
应用领域
信号处理、图像处理、控制系统、通 信系统、金融建模等。
优势特点
高效的数值计算能力,丰富的函数库 和工具箱,强大的可视化功能,支持 多种编程范式。
数字通信系统
数字通信系统传输数字信号,包括基带传输和频带 传输。数字通信具有抗干扰能力强、易于加密和集 成化等优点。
通信系统性能指标
包括有效性、可靠性和经济性等指标,用于 评价通信系统的性能优劣。
Matlab在信号处理中的应用
信号生成与可视化
信号分析与处理
通信系统建模与仿真
Matlab与其他软件接口
三维图形视角与光照控制
view、camlight等函数用于调整三 维图形的视角和光照效果。
三维图形标注与色彩控制
使用xlabel、ylabel、zlabel等函数 添加坐标轴标签,通过colormap等 函数设置色彩映射。
图像处理基础操作
图像读取与显示
imread、imshow等函数用于读 取和显示图像文件。
控制系统的分类
根据控制信号的性质可分为模拟 控制系统和数字控制系统;根据 系统结构可分为开环控制系统和 闭环控制系统。
传递函数模型建立与转换
传递函数的定义
描述线性定常系统动态特性的数 学模型,表示系统输出量与输入 量之间关系的函数。
传递函数的建立
通过系统微分方程或差分方程, 消去中间变量,得到描述系统输 入输出关系的传递函数。
MATLAB 13三维图形
13.6 改变视角
三维图形的缺省视点是:以30度俯视z=0平面,以37.5度仰视x=0 平面。与z=0平面所成的方向角叫仰角,与x=0平面的夹角叫做方位 角。这样,缺省的三维视角方向仰角为30,方位角为-37.5。而缺省 的二维视角仰角为90,方位角为0。 view: 改变所有类型的二维和三维图形的图形视角。 view(az,el)和view([az,el ] ):将视角改变到所指定的方位角az和 仰角el。 [例13—18] 链接 Example06。
Pcolor函数把高度映射为一组颜色并以相同的比例显示与等值线一样 的信息,
13
pcolor 伪彩色图。 pcolor(C) 画一伪彩色图。从C 映射到当前的色图是由命令 colormap和axis定义的。 pcolor(X,Y,C) 在参数x和y指定的位置上画一由C 确定的伪彩色图。 [例13—21] 链接 Example07_1。 [例13—22] 链接 Example07_2。 contourf 填充二维等高线图。即先画出不同等高线,然后相邻的 等高线之间用同一颜色进行填充。填充用的颜色决定于当前的色图 颜色。 contourf(Z) 矩阵z的等高线图,其中z理解成距平面的高度。Z至 少为2*2 阶的。等高线的条数与高度是自动选择的。 contourf(Z,n) 画出矩阵z的n条高度不同的等高线。 contourf(Z,v) 画出矩阵z的、由v指定的高度的等高线图。
[例13—13] 链接 Example04_3。
8
MATLAB的surf也有两个同种函数:surfc,它画出具有基础等 值线的曲面图;surfl,它画出一个有亮度的曲面图。 [例13—14] 链接 Example04_4。 surfnorm(X,Y,Z)函数: 计算由X,Y,Z所定义曲面的曲面法线,绘制 曲面图,并在曲面的数据点上绘制向量法线。 [Nx,Ny,Nz]=surfnorm(X,Y,Z): 计算三维曲面的法线并返回其分量, 但不绘制曲面图。 [例13—15] 链接 Example04_5。
2013 matlab教程ppt(全)340页
2013-4-21 Application of Matlab Language 5
2013-4-21 Application of Matlab Language 4
课程安排
课堂教学:共24学时;(1-12周) 上机试验:共24学时。
(2-13周,周二7-8节,九实401、402、403)
学习成绩: 1)上机实验成绩占30%; 2)考勤 10% ; 3) 考试60% (随堂考试)。
2013-4-21
Application of Matlab Language
3
本课程的目的( Objectives of This Course )
讲授MATLAB语言基础入门知识,介绍MATLAB产品的体系、MATLAB桌面工具 的使用方法,重点介绍MATLAB的数据可视化、数值计算的基本步骤以及如何使 用MATLAB语言编写整洁、高效、规范的程序。并涉及到一些具体的专业应用工
2013-4-21
Application of Matlab Language
11
Matlab版本的发展 • 1992年,支持Windows 3.x的MATLAB 4.0版本推出,增加了Simulink,Control, Neural Network,Signal Processing等专用工具箱。 • 1993年11月,MathWorks公司推出了Matlab 4.1,其中主要增加了符号运算功能。 当升级至Matlab 4.2c,这一功能在用户中得到广泛应用。 • 1997年,Matlab 5.0版本问世了,实现了真正的32位运算,加快数值计算,图形表现 有效。 • 2001年初,MathWorks公司推出了Matlab 6.0(R12)。 • 2002年7月,推出了Matlab 6.5(R13),在这一版本中Simulink升级到了5.0,性能有 了很大提高,另一大特点是推出了JIT程序加速器,Matlab的计算速度有了明显的 提高。 • 2005年9月,推出了MAILAB 7.1(Release14 SP3),在这一版本中Simulink升级到了 6.3,软件性能有了新的提高,用户界面更加友好。值得说明的是,Matlab V7.1版 采用了更先进的数学程序库,即‚LAPACK‛和‚BLAS‛。 目前,Matlab软件支持多种系统平台,如常见的WindowsNT/XP、UNIX、Linux 等。
MATLAB 程式设计入门篇三维立体绘图.ppt
[X, Y] = meshgrid(-3:0.1:3);
Z = griddata(x, y, z, X, Y, 'cubic'); mesh(X, Y, Z);
hold on
plot3(x, y, z, '.', 'MarkerSize', 16);
% 晝出 100 個取樣
hold off
axis tight
4-1 基本立體繪圖指令
waterfall:
waterfall 指令可在 x 方向或 y 方向產生水流 效果
範例4-7:plotxyz04.m
[x, y, z] = peaks; waterfall(x,y,z); axis tight;
4-1 基本立體繪圖指令
範例4-7:plotxyz04.m
4-1 基本立體繪圖指令
範例4-3 :plotxyz011.m
x = 3:6; y = 5:9; [xx, yy] = meshgrid(x, y); zz = xx.*yy; subplot(2,2,1); mesh(xx); title('xx'); axis tight subplot(2,2,2); mesh(yy); title('yy'); axis tight subplot(2,2,3); mesh(xx, yy, zz); title('zz 對 xx 及 yy 作圖'); axis tight
允許(on)或不允許(off)指令視 窗的輸出暫停。
允許(on)或不允許(off)指令在 檔案內執行時,逐一顯示在視窗。
4-2 立體圖形與圖軸的基本技巧
rotate3d on:
matlab三维绘图命令和演示
三维绘图1三维绘图指令2基本XYZ 立体绘图命令●mesh 和plot 是三度空间立体绘图的基本命令,mesh 可画出立体网状图,plot 则可画出立体曲面图,两者产生的图形都会依高度而有不同颜色。
下列命令可画出由函数形成的立体网状图: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);%画出立体网状图● 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);%画出立体曲面图●peaks为了方便测试立体绘图,MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为:要画出此函数的最快方法即是直接键入peaks:peaksz=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)●我们亦可对peaks函数取点,再以各种不同方法进行绘图。
meshz可将曲面加上围裙:[x,y,z]=peaks;meshz(x,y,z);●waterfall可在x方向或y方向产生水流效果:[x,y,z]=peaks;waterfall(x,y,z);●下列命令产生在y方向的水流效果:[x,y,z]=peaks;waterfall(x',y',z');●meshc同时画出网状图与等高线:[x,y,z]=peaks;meshc(x,y,z);●surfc同时画出曲面图与等高线:[x,y,z]=peaks;surfc(x,y,z);●contour3画出曲面在三度空间中的等高线:contour3(peaks,20);●contour画出曲面等高线在XY平面的投影:contour(peaks,20);●plot3可画出三度空间中的曲线:t=linspace(0,20*pi,501);plot3(t.*sin(t),t.*cos(t),t);亦可同时画出两条三度空间中的曲线:t=linspace(0,10*pi,501);plot3(t.*sin(t),t.*cos(t),t,t.*sin(t),t.*cos(t),-t);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’,?…)二维图形的所有基本特性对三维图形全都适用。
matlab实现三维图形绘制.ppt
例2: mesh指令使用示例
程序如下: x=-10:0.1:10;
y=-10:0.1:10;
[X,Y]=meshgrid(x,y); Z=200-X.^2-Y.^2; mesh(X,Y,Z,'LineWidth',2)
例2图如下:
1.3 曲面图的绘制
曲面图的绘制由surf指令完成,该指令的调用格式与mesh 指令类似,具体如下: surf(X,Y,Z) surf(Z) surf(X,Y,Z,C)
程序如下: [x,y,z]=peaks(25);
figure(1)
surf(x,y,z); figure(2) mesh(x,y,z)
surf(figure(1))与mesh(figure(2))图像对比
surf(X,Y,Z,’PropertyValue’,PropertyValue,…)
mesh指令所绘制的图形是网格划分的曲面图,而surf指令绘 制得到的是平滑着色的三维曲面,着色的方式实在得到相 应的网格点后,对每一个网格依据该网格所代表的节点的 色值(由变量C控制)来定义这一网格的颜色。
例3:surf与mesh效果对比
(1)确定自变量x和y的取值范围和区之间隔如下: x=x1:dx:x2;y=y1:dy:y2 (2)利用meshgrid指令生成“格点矩阵” [X,Y]=meshgrid(x,y);
(3)计算在自变量采样“格点”上的函数值:Z=f(X,Y)。 绘制网格图的基本mesh指令的句法格式如下。 mesh(X,Y,Z , C): 以 X 为 x 轴自变量, Y 为 y 轴自变量,绘制 网格图,X,Y均为向量,若X,Y长度分别为m、n,则Z为的 矩阵,即[m,n]=size(Z);C用于定义颜色,如果不定义, 其绘制的网格图颜色会随着Z值变化而变化 mesh(Z): 以 Z 矩阵列下标为 x 轴自变量、行下标为 y 轴自变量, 绘制网格图。 mesh(X,Y,Z,’PropertyName1’,PropertyValue,…): 以 X 为 x轴自变量,Y为y轴自变量,绘制网格图;PropertyValue 用来定义网格图的标记等属性。
matlab三维绘图ppt课件
xx
1
三维曲线绘图 三维曲面绘图
2
xx
二、MATLAB三维曲线绘图
plot3——三维曲线绘制指令 plot3的调用格式:
plot3(X,Y,Z) plot3(X,Y,Z,’String’) plot3(X1,Y1,Z1,’ String1’,X2,Y2,Z2,’ String2’,…) plot3与plot的 用法相同
➢ shading faceted
以平面为单位进行着色,在flat用色基础上,在贴片的 四周勾出黑色网线。
23
subplot(131),surf(peaks(40)); subplot(132),surf(peaks(40));shading flat subplot(133),surf(peaks(40));shading interp
subplot(122),h = surf(ones(10,10));rotate(h,[0 0 1],i,[1 0 0]) end
➢ rotate3d
动态旋转命令,可以让用户使用鼠标来旋转视角
19
背景颜色控制命令colordef
➢ colordef white 将图形的背景颜色设置为白色 ➢ colordef black ➢ colordef none 将图形背景和图形窗口的颜色设置
28
对象和句柄
MATLAB把构成图形的各个基本要素称为图形对象, 包括图形窗口、坐标轴、线条、曲面、文本和其它对 象。
每一个对象都有一个数字来标识,叫做句柄。当每次 创建一个对象时,MATLAB就为它建立一个唯一的句 柄。
29
作业ห้องสมุดไป่ตู้P79
5,7,8,9
30
22
二维和三维图形ppt课件
程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y)
(2) X=[2 4 6;3 6 9] y=[1 2 3; 5 4 2] Plot(x,y)
(3) t=0: 0.1: 10 y=[ sin ( t ); 2. * cos( t ) ] plot ( t, y ) grid
5、M文件:文本文件和函数文 包件含有Matlab语句的磁盘文件可以分为文本文件和函数文件两种,
它们的名字都是以“.m〞为后缀的文件,统称为M 文件。
[1] 文本文件(脚本文件)
好像在MATLAB中键入命令普通,这种文件称为脚本文件,运用脚本文 件,可以把命令保管在磁盘上,便于以后的访问;同时对运用大的数组 也带来的方便;
〔1〕grid on/off: 加/删除格栅在当前图上
〔2〕xlabel(x轴阐明)
〔3〕ylabel(y轴阐明)
〔4〕zlabel(z轴阐明)
〔5〕title(图形称号)
〔6〕text(x,y,图形阐明) gtext(图形阐明):在鼠标指定的位置
〔7〕legend(图例1,图例2,…)
〔8〕hold on/off命令控制是坚持原有图形还是刷新原有图形, 不带参数的hold命令在两种形状之间进展切换。
4、坐标控制
axis([xmin xmax ymin ymax zmin zmax]) axis函数功能丰富,常用的格式还有: axis equal:纵、横坐标轴采用等长刻度。 axis square:产生正方形坐标系(缺省为矩形)。 axis auto:运用缺省设置。 axis off:取消坐标轴。 axis on:显示坐标轴。
《MATLAB图形绘制》课件
交互式编程环境
Matlab提供了交互式命令窗口和脚本文 件,方便用户进行编程和调试。
图形绘制功能
Matlab提供了丰富的绘图函数,可以方 便地绘制各种二维、三维图形,支持多种 图形格式输出。
02
Matlab绘图基础
绘图函数的使用
plot函数
用于绘制二维线图,可以绘制一个或多个数 据序列。
bar函数
滤波器应用
通过实例演示如何使用Matlab实现图像的 滤波处理,提高图像质量或突出特定特征。
图像的色彩空间转换
色彩空间
介绍常见的色彩空间如RGB、HSV、 CMYK等,以及它们之间的转换关系 。
转换方法
演示如何使用Matlab进行图像的色彩 空间转换,以便更好地进行图像处理 和分析。
05
Matlab与其他软件的结 合使用
信号处理与通信
05
06
金融建模与预测
Matlab的优点与特点
易用性
Matlab的语法简洁明了,易于学习,适 合初学者快速入门。
支持多种编程范式
Matlab不仅支持传统的命令式编程,还 支持面向对象编程和函数式编程,具有高 度的可扩展性。
强大的数学计算能力
Matlab内置了大量数学函数和算法,支 持矩阵运算、数值分析、统计分析等多种 数学计算。
《Matlab图形绘制》 PPT课件
xx年xx月xx日
• Matlab简介 • Matlab绘图基础 • 高级绘图技巧 • 图像处理与可视化 • Matlab与其他软件的结合使用 • Matlab图形绘制的实际应用案
例
目录
01
Matlab简介
Matlab的发展历程
01
1980年代初
第十二节--MatLab绘图-3D
10
20
10
5
00
0
-5
-10 30
20
10
00
30 20 10
30 20 10
>> surfl(peaks(30)) >> shading interp >> colormap (gray) >> colormap copper
10
5
0
-5
-10 30
20 10
00
30 20 10
>> boxplot3(1,1,1,3,5,7) >> boxplot3(4,6,8,4,5,1) >> boxplot3(8,11,9,1,1,1)
三维图形
function boxplot3(x0,y0,z0,lx,ly,lz) %(0,0,0) ,(1,1,1)
x=zeros(1,8);x(1:4)=x0;x(5:8)=x0+lx; % x=0 0 0 0 1 1 1 1
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);
10
5
0
-5
-10 4
2
4
0 -2
2 0 -2
-4 -4
10 5 0 -5
三维图形
Helix
t
40
30
20
10
0 1
0.5
0 -0.5
cos(t)
Origin
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17
三维空间可视化的函数slice slice: 立体切片图。该命令显示通过立体图形的矩形切片图。 slice(X,Y,Z,V,sx,sy,sz): 在x轴、y轴与z轴方向上的若干点上画 切片图,各点的坐标由参量向量sx、sy与sz确定。参量X、参量Y 与参量Z为三维数组,用于指定立方体的坐标。参量X、Y 与Z 必 须有单调的、正交的间隔(如同用命令meshgrid 生成的一样)。 [例13—29] 链接 Example08_6。 [例13—30] 链接 Example08_7。
13.6 改变视角
三维图形的缺省视点是:以30度俯视z=0平面,以37.5度仰视x=0 平面。与z=0平面所成的方向角叫仰角,与x=0平面的夹角叫做方位 角。这样,缺省的三维视角方向仰角为30,方位角为-37.5。而缺省 的二维视角仰角为90,方位角为0。 view: 改变所有类型的二维和三维图形的图形视角。 view(az,el)和view([az,el ] ):将视角改变到所指定的方位角az和 仰角el。 [例13—18] 链接 Example06。
6
MATLAB的mesh有两个同种函数:meshc画网格图和基础的等值 线图,meshz画包含零平面的网格图。 [例13—8] 链接 Example03_3。
函数waterfall除了网格线仅在x方向出现外,其它与mesh相同。
[例13—9] 链接 Example03_4。
13.4 曲面图
曲面图,除了各线条之间的空档(称作补片)用颜色填充以外,和网 格图看起来是一样的。这种图一般使用函数surf来绘制: [例13—10] 链接 Example04。
14
[例13—23] 链接 Example07_3。
用clabel函数可标记等值线,clabel需要由contour,contourf和 contour3返回的一个等值线矩阵和一个可选择的文本字符串。 [例13—24] 链接 Example07_4。
13.8 特殊三维图
函数ribbon(Y): 把Y的各列画成单独的丝带状图。 ribbon(x,Y): 画x对Y的列的丝带状图。 ribbon(x,Y,width):width确定丝带的宽度,这里,缺省值为 0.75。 [例13—25] 链接 Example08。
[例13—20] 链接 Example07。
Pcolor函数把高度映射为一组颜色并以相同的比例显示与等值线一样 的信息,
13
pcolor 伪彩色图。 pcolor(C) 画一伪彩色图。从C 映射到当前的色图是由命令 colormap和axis定义的。 pcolor(X,Y,C) 在参数x和y指定的位置上画一由C 确定的伪彩色图。 [例13—21] 链接 Example07_1。 [例13—22] 链接 Example07_2。
10
view函数还有另一种在某些情况下更有用的形式。 view([x y z])把视点放置在连接3维空间的原点和笛卡儿坐标(z,y,z) 的向量上。视点与原点的距离不影响视觉效果。
11
例如:view([0 -10 0]),view([0 -1 0])和view([0 0])都产生相同的视 觉效果。 此外,用[za,el]=view可得到当前视点的方位角和仰角。 [例13—19] 链接 Example06_1。
comet3(z): 用向量z中的数据显示一个三维彗星。 comet3(x,y,z): 显示一个彗星通过数据x,y,z确定的三维曲线。 comet3(x,y,z,p): 指定彗星体的长度为:p*length(y)。
[例13—27] 链接 数据。 stem3(X,Y,Z,C,'filled'): 用延伸到x-y平面的直线画(X,Y,Z)中数据点。 可选择参量C确定标记类型和域颜色,而选择参量'fill'使标记被填充 到图。 stem3(Z): 画Z中的点,并自动产生X和Y的值。
[例13—25] 链接 Example08_2。
fill3: 用指定的颜色填充三维多边形。 fill3(X,Y,Z,C): 填充由参数x,y 和z 确定多边形,参数c 指定颜色。
[例13—26] 链接 Example08_3。
16
comet3: 三维空间中的彗星图。 彗星图为一个三维的动画图像,彗星头(一个小圆圈)沿着数据指定 的轨道前进,彗星体为跟在彗星头后面的一段痕迹,彗星轨道为整个 函数所画的实曲线。
3
如果能按列计算z,下面的脚本文件段会有所帮助:
4
当z中的元素必须一个一个地计算时,常常要求用嵌套循环进行计算。
5
13.3 网格图
利用在xy平面的矩形网格点上的z轴坐标值,MATLAB定义 了一个网格曲面。MATLAB通过将邻接的点用直线连接起来形成 网状曲面,其结果好像在数据点打结的鱼网。
[例13—5] 链接 Example03。
15
quiver: 矢量图或速度图 quiver(U,V): 在范围为x =1:n和y =1:m的坐标系中绘由U和V定义
的向量。 quiver(X,Y,U,V): 在点x和y上绘制由U、V定义的向量。
[例13—24] 链接 Example08_1。
quiver3(x,y,z,Nx,Ny,Nz): 显示了点(x,y,z)处的向量(Nx,Ny, N2)。
2
当z=f(x,y)能简化表示时,可以用数组运算在单个语句中 算出z的所有的值,这要求以合适的方向创建所有x与y值的矩 阵。 MATHWORKS公司称作为方格,用 meshgrid来执行。 [例13—4] 链接 Example02。 当函数不能像上面那样简单表示出来时,便只能用for循环或 while循环来计算z的元素。在很多情况下,有可能按行或按列 计算z。 例如,如果能按行计算z,下面的脚本文件段会有所帮助:
因为曲面图不能作成透明,但在一些情况下可以很方便地移 走一部分表面以便看到表面以下部分。在MATLAB中,将期望洞孔 的数据设置为特定的NaN来实现这种功能。由于NaN没有任何值, 所有的MATLAB作图函数都忽略NaN的数据点,在该点出现的地方 留下一个洞孔。
[例13—13] 链接 Example04_3。
[例13—15] 链接 Example04_5。
13.5 不规则数据的网格图和曲面图
用函数trimesh和trisurf可将不规则或非均匀间隔的数据可视化。 [例13—16] 链接 Example05。
9
伏罗诺耶(Voronoi)图是与德朗奈三角剖分关的最邻近点绘图枝术。 每个多边形围住所有比数据集合中任何其它点更接近被界定的数据点 的点。 用voronoi函数可产生数据点(x,y)的一个伏罗诺耶图。 [例13—17] 链接 Example05_1。
18
12
contour(x,y,z,n) 画出n条等高线; contour(z,v) 在指定的高度v上画出等高线; contour3 三维空间等高线图。该命令生成一个定义在矩形格栅上曲 面的三维等高线图。 contour3(Z) 画出三维空间角度观看矩阵z的等高线图,其中z的元 素被认为是距离xy平面的高度,矩阵z至少为2*2阶的。等高线的条数 与高度是自动选择的。若[m,n]=size(z),则x 轴的范围为[1:n],y 轴的范围为[1:m]。 contour3(Z,n) 画出由矩阵z确定的n条等高线的三维图。 contour3(Z,v) 在参量v 指定的高度上画出三维等高线,当然等高线 条数与向量v的维数相同;若想只画一条高度为h 的等高线,输入: contour3(Z,[h,h])。
除了上例中的输入参量,函数mesh和大多数三维绘图函数 一样可按多种输入参量调用。最通常的变更方法是使用向量,将 它传递给meshgrid,以生成x与y坐标轴。
[例13—6] 链接 Example03_1。
MATLAB中用hidden命令控制网格图的透明特性。
[例13—7] 链接 Example03_2。
8
MATLAB的surf也有两个同种函数:surfc,它画出具有基础等 值线的曲面图;surfl,它画出一个有亮度的曲面图。 [例13—14] 链接 Example04_4。
surfnorm(X,Y,Z)函数: 计算由X,Y,Z所定义曲面的曲面法线,绘制 曲面图,并在曲面的数据点上绘制向量法线。
[Nx,Ny,Nz]=surfnorm(X,Y,Z): 计算三维曲面的法线并返回其分量, 但不绘制曲面图。
第十三章 三维图形
为了显示三维数据,MATLAB提供了各种各样的函数。一些函数 可在三维空间中画线,而另一些可以画曲面和线格框架。另外,颜色 可以用来代表第四维。
13.1 曲线图
plot3 将绘制二维图形的函数plot的特性扩展到三维空间。 plot3(x1,y1,z1,S1,x2,y2,z2,S2,…) 除了包括第三维的信息(比如Z方向)之外,与二维函数 plot相同。这里xn,yn和zn是向量或矩阵,Sn是可选的字符串, 用来指定颜色、标记符号和/或线形。
contourf 填充二维等高线图。即先画出不同等高线,然后相邻的 等高线之间用同一颜色进行填充。填充用的颜色决定于当前的色图 颜色。 contourf(Z) 矩阵z的等高线图,其中z理解成距平面的高度。Z至 少为2*2 阶的。等高线的条数与高度是自动选择的。 contourf(Z,n) 画出矩阵z的n条高度不同的等高线。 contourf(Z,v) 画出矩阵z的、由v指定的高度的等高线图。
[例13—1] 链接
Example01。
1
已增加维数的plot命令可以使多个二维图形沿一个轴排列起来。
[例13—2] 链接 Example01_2。 图形沿另外方向堆列。 [例13—3] 链接 Example01_3。
13.2 两个变量的标量函数
相对于plot3产生的线条图形,常希望画出两变量的标量函数, 即z=f(x,y),这里每一对x与y的值产生一个z的值。作为x与y的函 数,z的图形是三维空间中的一个曲面。为了在MATLAB里画出这 个曲面,z的值存放在一个矩阵中。象在二维插值这一节所描述的 那样,给出x与y的值作为独立的变量,z是因变量矩阵。