实验六 MATLAB7.0三维绘图
MATLAB7.0绘图教程.ppt

2019/3/19
15
(2) 坐标轴的标签
在MATLAB 7中,可以使用如下3种方式给图 形的坐标轴添加标签:
使用Insert菜单下的Label选项; 使用属性编辑器(Property Editor); 使用MATLAB 7的添加标签命令;
2019/3/19
16
坐标轴的标签添加举例
2019/3/19
12
2. 图形注释
图题的标注 坐标轴的标签 文本标注和交互式文本标注 图例的添加 坐标网格的添加 使用矩形或是椭圆在图形中圈出重要部分
2019/3/19
13
(1) 图题的标注
在MATLAB中,通常可以使用3种方式给图形 添加图题:
使用Insert 菜单中的Title命令; 使用属性编辑器(Property Editor); 使用title函数。
2019/3/19
8
(5)多个图形的绘制方法
subplot函数 可以实现多 个图形的绘制:
>> x = 0:.1:20; >> subplot(2,2,1) >> plot(x,sin(x)); >>
2019/3/19
9
多个图形的绘制方法
>> x = 0:.1:20; >> subplot(2,2,2) >> plot(x,cos(x)); >>
7. 输出图形
2019/3/19
5
(3)绘制二维曲线图
二维曲线图在MATLAB 7中的绘制是最为简便的。如 果将X轴和Y轴的数据分别保存在两个向量中,同时 向量的长度完全相等,那么可以直接调用函数进行二 维图形的绘制。在MATLAB 7中,使用plot函数进行 二维曲线图的绘制。
实验Matlab三维作图的绘制

实验9 三维绘图一、实验目的学会MATLAB软件中三维绘图的方法。
二、实验内容与要求1.三维曲线图格式一:plot3(X,Y,Z,S).说明:当X,Y,Z均为同维向量时,则plot3描出点X(i),Y(i),Z(i)依次相连的空间曲线.若X,Y均为同维矩阵,X,Y,Z每一组相应列向量为坐标画出一条曲线,S为‘color﹣linestyle﹣marker’控制字符表1.6~表1.10.【例1.79】绘制螺旋线.>>t=0:pi/60:10*pi;>>x=sin(t);>>y=cos(t);>>plot3(x,y,t,’*-b’)>>grid on图形的结果如图1.16所示.格式二:comet3(x,y,z).说明:显示一个彗星通过数据x,y,z确定的三维曲线.【例1.80】>>t=-20*pi:pi/50:20*pi;>>comet3(sin(t),cos(t),t)可见到彗星头(一个小圆圈)沿着数据指定的轨道前进的动画图象,彗星轨道为整个函数所画的螺旋线.格式三:fill3(X,Y,Z,C) ℅填充由参数X,Y,Z确定的多边形,参数C指定颜色.图1.16 例1.79图形结果图1.17 例1.81图形结果【例1.81】>>X=[2,1,2;9,7,1;6,7,0];>>Y=[1,7,0;4,7,9;0,4,3];>>Z=[1,8,6;7,9,6;1,6,1];>>C=[1,0,0;0,1,0;0,0,1]>>fill3(X,Y,Z,C)>>grid on图形的结果如图1.17所示.问题1.30:图1.17中每个三角形按什么规律画出的?(用X,Y,Z的对应列元素值为坐标画三角形)每个三角形内填充的颜色又有何规律?(用C 第i列元素值对应的颜色,从第i个三角形对应顶点向中心过渡)若C=[1,5,10;1,5,10;1,5,10],结果如何?2.三维网格图格式:mesh(X,Y,Z,C) ℅画出颜色由C指定的三维网格图.meshc(X,Y,Z,C) ℅画出带有等高线的三维网格图.meshz(X,Y,Z,C) ℅画出带有底座的三维网格图.说明:若X与Y均为向量,n=length(X),m=length(Y), Z必须满足[m,n]=size(Z),则空间中的点(X(j),Y(i),Z(i,j))为所画曲面网线的交点,X 对应于Z的列,Y对应于Z的行;若X,Y,Z均为同维矩阵,则空间中的点(X(i,j),Y(i,j),Z(i,j))为所画曲面的网线的交点;矩阵C指定网线的颜色,MATLAB对矩阵C中的数据进行线性处理,以便从当前色图中获得有用的颜色,若C缺省,网线颜色和曲面的高度Z相匹配.在三维作图常用到命令meshgrid,其功能是生成二元函数z=f(x,y)中x-y平面上的矩形定义域中数据点矩阵X和Y.格式:[X,Y]= meshgrid(x,y).说明:输入向量x为x-y平面上x轴的值,向量y为x-y平面上y轴的值.输出矩阵X为x-y平面上数据点的横坐标值,输出矩阵Y为x-y平面上数据点的纵坐标值.【例1.82】>> x=1:4;>> y=1:5;>> [x,y]=meshgrid(x,y)x =1 2 3 41 2 3 41 2 3 41 2 3 41 2 3 4y =1 1 1 12 2 2 23 3 3 34 4 4 45 5 5 5图1.18所示x-y 平面上的矩形定义域中20个数据点(星号点)的坐标就是有X ,Y 决定的。
如何使用Matlab进行3D图形绘制

如何使用Matlab进行3D图形绘制1. 引言在科学研究、工程设计和数据可视化的过程中,3D图形绘制是一项非常重要的技能。
Matlab作为一种功能强大且易于上手的工具,在3D图形绘制方面有着很大的优势。
本文将介绍如何使用Matlab进行3D图形绘制,以帮助读者更好地掌握这一技术。
2. 准备工作在开始使用Matlab进行3D图形绘制之前,我们需要先进行一些准备工作。
首先,确保已经安装了Matlab软件,并且具备了一定的基本操作能力。
其次,了解Matlab的数据管理和处理方式,掌握常用的数据结构和操作方法。
最后,对于3D图形绘制的相关概念和技术有一定的了解,包括坐标系、曲线和曲面等基本概念。
3. 坐标系和坐标变换在进行3D图形绘制之前,首先需要了解坐标系的概念以及如何进行坐标变换。
Matlab中使用的3D坐标系是右手坐标系,其中x轴指向右侧,y轴指向前方,z轴指向上方。
在进行坐标变换时,可以使用Matlab提供的函数进行平移、旋转和缩放等操作,以便更好地展示3D图形。
4. 曲线绘制在Matlab中,使用函数plot3可以绘制3D曲线。
该函数的基本用法是plot3(x,y,z),其中x、y、z分别为曲线上各点的x、y、z坐标。
可以通过对坐标点进行适当的变换和调整,绘制出各种形状和曲线。
5. 曲面绘制除了曲线,我们还可以使用Matlab绘制3D曲面。
Matlab提供了函数surf和mesh来实现曲面绘制。
函数surf绘制带有颜色的曲面,而函数mesh绘制网格型的曲面。
这两个函数的基本用法都是类似的,可以通过传入坐标点数据和数据值来绘制出曲面图像。
6. 其他3D图形效果除了曲线和曲面,我们还可以通过Matlab实现其他各种各样的3D图形效果。
例如,绘制3D散点图可以使用函数scatter3,绘制3D柱状图可以使用函数bar3,绘制3D等高线图可以使用函数contour3等。
这些函数都有类似的参数传递方式,通过调整函数参数可以实现各种个性化的效果。
Matlab 3D 绘图

Matlab 3D 插值绘图绘制图像:1、需要有X,Y,Z三个参数,且X,Y,Z都是列向量。
2、生成3D插值矩阵:Xi=linspace(min(x),max(x),100); %100为插值的步长Yi=linspace(min(y),max(y),100); %100为插值的步长[Xi,Yi,Zi]=griddata(x,y,z,Xi',Yi,'v4') %直接生成3D插值矩阵Xi需转置3、绘图:surf(X,Y,Z),mesh(X,Y,Z) %surf是曲面,mesh是网格颜色调整:1、shading:用于处理颜色效果1)no shading:一般默认模式,即shading faceted2)shading flat :在faceted基础上去掉图网格线3)shading interp:在flat基础进行色彩插值处理,使色彩平滑过渡4)使用示例:该命令在surf画图命令之后使用:surf(X,Y,Z); %画三维曲面,mesh为网格shading interp; %颜色插值光滑处理shading facetedshading flatshading interp绘图命令类型:1、二维深度图:画出二维图像,用颜色申深浅表示高度pcolor(X,Y,Z);shading interp;%画出二维深度图,并且插值光滑2、二维等高线图:画出等高线图contourf(X,Y,Z) %等高线图%画出等高线图二维深度图像二维等高线图3、三维图:mesh(X,Y,Z); %画出三维网格surf(X,Y,Z); %画出三维曲面plot3(X,Y,Z); %画出三维曲线meshsurfplot3。
使用matlab绘制三维图形的方法【甄选文档】

使用matlab 绘制三维图形的方法三维曲线plot3函数与plot 函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n),其中每一组x,y,z 组成一组曲线的坐标参数,选项的定义和plot 函数相同。
当x,y,z 是同维向量时,则x,y,z 对应元素构成一条三维曲线。
当x,y,z 是同维矩阵时,则以x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。
例 绘制三维曲线。
程序如下: t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); plot3(x,y,z);grid title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); 如下图:XLine in 3-D SpaceYZ三维曲面 1.产生三维数据在MATLAB 中,利用meshgrid 函数产生平面区域内的网格坐标矩阵。
其格式为:[X,Y]=meshgrid(x,y);语句执行后,矩阵X 的每一行都是向量x ,行数等于向量y 的元素的个数,矩阵Y 的每一列都是向量y ,列数等于向量x 的元素的个数。
2.绘制三维曲面的函数surf 函数和mesh 函数的调用格式为:mesh(x,y,z,c):画网格曲面,将数据点在空间中描出,并连成网格。
surf(x,y,z,c):画完整曲面,将数据点所表示曲面画出。
一般情况下,x,y,z 是维数相同的矩阵。
x,y 是网格坐标矩阵,z 是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。
例 绘制三维曲面图z=sin(x+sin(y))-x/10。
程序如下:[x,y]=meshgrid(0:0.25:4*pi); %在[0,4pi]×[0,4pi]区域生成网格坐标 z=sin(x+sin(y))-x/10; mesh(x,y,z);axis([0 4*pi 0 4*pi -2.5 1]); 如下图:-2.5-2-1.5-1-0.500.51此外,还有带等高线的三维网格曲面函数meshc 和带底座的三维网格曲面函数meshz 。
matlab三维绘图ppt课件

title('交线')
13
xx
马鞍面、平面及交线
14
xx
三维图形的控制命令
视角控制命令view
view(az,el)
设置查看三维图的 视点。az为水平方 位角,从y轴负方向 开始,逆时针旋转 为正;el为垂直方 位角,以向z轴方向 旋转为正。三维默 认视角为az=-37.5, el=30
与三维网格图的区别: 网格图:线条有颜色,空挡没有颜色 曲面图:线条是黑色,空挡有颜色(把线条之间的
空挡填充颜色,沿z轴按每一网格变化)
10
xx
例:绘制函数 z xe(x2y2 ) , 2 x, y 2
,比较指令mesh和surf。
的图像
解:matlab命令为:
t=-2:0.1:2; [x,y]=meshgrid(t); z=x.*exp(-x.^2-y.^2); subplot(1,2,1),mesh(x,y,z),title('网格图') subplot(1,2,2),surf(x,y,z),title('曲面图')
的背景设置为color_option指定的颜色
见P70 例4-36
20
图形颜色控制命令colormap
colormap([R,G,B]) 用单色绘图, [R,G,B]代表一 个配色方案,取值在[0,1]之间。通过对R、G、B大 小的设置,可以调制出不同的颜色。p71表4-5
colormap(CM) CM为色图矩阵。色图为m*3的 矩阵。Matlab预定义了一些色图矩阵的值,表4-6 为常用的色图矩阵。
MATLAB 绘图
xx
1
三维曲线绘图 三维曲面绘图
上机习题6 MATLAB7.0三维绘图

实验六 MATLAB7.0三维绘图实验目的:① 掌握绘制三维图能形的方法; ② 掌握图形修饰处理方法;③ 知道图像处理方法,了解动画制作方法。
实验要求:给出程序和实验结果。
实验内容:一、绘制三维曲线sin()cos()sin()cos()x t y t z t t t =⎧⎪=⎨⎪=⎩t=0:pi/100:20*pi; x=sin(t); y=cos(t);z=t.*sin(t).*cos(t); plot3(x,y,z);title('Line in 3-D Space');xlabel('X');ylabel('Y');zlabel('Z'); grid on;-11XLine in 3-D SpaceYZ二、绘制三维曲面图z=sin(x+sin(y))-x/10。
[x,y]=meshgrid(0:0.25:4*pi); z=sin(x+sin(y))-x/10; mesh(x,y,z);axis([0 4*pi 0 4*pi -2.5 1]);-2.5-2-1.5-1-0.500.51三、绘制z=x2+y2的三维网线图形; x,y]=meshgrid(0:0.25:4*pi); z=x.^2+y.^2; mesh(x,y,z)15四、绘制三维陀螺锥面; (仅供参考: 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 )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-11五、在xy 平面内选择区域[-8,8]×[-8,8],利用mesh 、meshc 、meshz 和surf 绘制/z = [x,y]=meshgrid(-8:0.5:8);z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps); subplot(2,2,1); mesh(x,y,z);title('mesh(x,y,z)') subplot(2,2,2); meshc(x,y,z);title('meshc(x,y,z)') subplot(2,2,3); meshz(x,y,z)title('meshz(x,y,z)') subplot(2,2,4); surf(x,y,z);title('surf(x,y,z)')10mesh(x,y,z)1010-101meshc(x,y,z)10meshz(x,y,z)1010-101surf(x,y,z)六、绘制光照处理后的球面,取三个不同的光照位置进行比较。
Matlab 三维立体绘图

– 請劃出其網狀圖形,並標示x座標、y座標以及給定的 點座標。 – 請劃出其曲面圖形,並標示x座標、y座標以及給定的 點座標。
8
4-1 基本立體繪圖指令
1 2 3 4
0 3 4 7
2 2 4 6
% 標示曲面高度
set(h, 'hori', 'center', 'vertical', 'bottom', 'color', 'r'); % 改變位置及顏色
5
3
1 4 4 8
4-1 基本立體繪圖指令
– 範例4-2 :plotxyz002.m
8
8 7 6
6 4 4 4 4
– 範例4-5 :plotxyz02.m surf 和 mesh 指令的用法類似
x = linspace(-2, 2, 25); y = linspace(-2, 2, 25); % 在 x 軸 [-2,2] 之間取 25 點 % 在 y 軸 [-2,2] 之間取 25 點
[xx,yy] = meshgrid(x, y);
2
Matrix Indexing Coordinate
• Conversion from matrix indexing to x-y coordinates
– Jx – Iy
1
j (= x)
2
1 2 3 4
0 3 4 7
2 2 4 6
3
1 4 4 8
(i, j) = (3, 2)
A(4,3)=8 A(3,2)=4
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六MATLAB7.0三维绘图实验目的:
①掌握绘制三维图能形的方法;
②掌握图形修饰处理方法;
③知道图像处理方法,了解动画制作方法。
实验要求:给出程序和实验结果。
实验内容:
一、绘制三维曲线
sin()
cos()
sin()cos()
x t
y t
z t t t
=
⎧
⎪
=
⎨
⎪=
⎩
二、绘制三维曲面图z=sin(x+sin(y))-x/10。
三、绘制z=x2+y2的三维网线图形;
四、绘制三维陀螺锥面;(仅供参考:
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
)
五、在xy平面内选择区域[-8,8]×[-8,8],利用mesh、meshc、meshz和surf绘
制/
六、绘制光照处理后的球面,取三个不同的光照位置进行比较。
(提示:可以利用函数sphere和light)
七、利用peaks产生数据,绘制多峰曲面图。
八.
2
2y
x
xe
z-
-
=,当x和y的取值范围均为-2到2时,用建立子窗口的方法在同
一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。
九绘制peaks函数的表面图,用colormap函数改变预置的色图,观察色彩的分布情况。
十、用sphere函数产生球表面坐标,绘制不透明网线图、透明网线图、表面图和带剪孔的表面图。
十一、将5.9题中的带剪孔的球形表面图的坐标改变为正方形,以使球面看起来是圆的而不是椭圆的,然后关闭坐标轴的显示。
实验结果:。