matlab的空间三维作图与符号作图
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
三、加密:取更二多维的点作图举例
>> x=[0:pi/20:2*pi]; >> y=sin(x); >> plot(x,y,'.')
11
三维曲线作图过程
x t
例:绘制三维螺线:
y
sin( t )
z cos(t)
( 0 < t < 20 )
先画点,后连线
1) 计算空间离散点的坐标 (x,y,z) 2) 将这些点按顺序连接即可
调用 Matlab 的绘图命令作出曲面图形
怎样得到网格矩阵 X 和 Y ?
—— 利用 Matlab 的网格生成函数 meshgrid
5
网格生成函数
网格生成函数 [X,Y] = meshgrid(x,y) x,y 是分别对 x 变化区域和 y 变化区域进行分割后
得到的向量 X, Y 即为我们所需要的网格矩阵
>> x= -8:0.5:8; >> y= -8:0.5:8; >> [X,Y]=meshgrid(x,y); >> r=sqrt(X.^2+Y.^2)+eps; >> Z=sin(r)./r; >> mesh(X,Y,Z)
+eps?
1) x 与 y 可以取不同的步长 2) 注意这里采用的数组运算
最后一个命令能否改为 mesh(Z)?
gray cool
线性灰色系 hot 青和洋红色系 pink
黑红黄白色系 柔和色系
26
Matlab 符号作图
27
二维曲线 ezplot
二维曲线绘图命名: ezplot ezplot(f(x),[a,b])
绘制 y = f (x) 在区域 a < x < b 上的图形
ezplot(f(x,y),[a,b,c,d])
mesh绘制由矩阵xijijijij111221221112212211122122的一般过程与绘制二维曲线类似先对x的变化区域和y的变化区域进行分割得到离散的点xijij这些点构成了网格矩阵即矩阵x和y这些离散的点称为网格点计算z在这些网格点上的函数值即可的矩阵z调用matlab的绘图命令作出曲面图形怎样得到网格矩阵x和y利用matlab的网格生成函数meshgrid是分别对x变化区域和y变化区域进行分割后得到的向量即为我们所需要的网格矩阵网格生成函数meshxyz例
7
其它三维曲面作图命令
绘制带等高线的空间曲面
meshc 调用方式与 mesh 相同,在 mesh 基础上增加等高线
绘制屏蔽边界面的空间曲面
meshz 调用方式与 mesh 相同,在 mesh 基础上屏蔽边界面
8
二维曲线作图过程 点 线:先画点,后连线
例:y = sin(x), 0 < x < 2
19
Mesh 绘图小结
显式方程:z=z(x,y), axb, cyd
>> x=a:hx:b; y=c:hy:d; >> [X,Y]=meshgrid(x,y); >> Z=z(X,Y); >> mesh(X,Y,Z)
参数方程:x=x(u,v),y=y(u,v),x=z(u,v)
aub, cvd
17
三维曲面作图举例
例:带等高线的曲面 meshc
>> [X,Y]=meshgrid(-8:0.5:8); >> r=sqrt(X.^2+Y.^2)+eps; >> Z=sin(r)./r; >> meshc(X,Y,Z)
18
三维曲面作图举例
例:带屏蔽面的曲面 meshz
>> [X,Y]=meshgrid(-8:0.5:8); >> r=sqrt(X.^2+Y.^2)+eps; >> Z=sin(r)./r; >> meshz(X,Y,Z)
数学实验
第六讲 Matlab 绘图(二)
空间三维作图与符号作图
1
绘制三维曲线
三维曲线 : plot3
设三维曲线的参数方程为:x=x(t),y=y(t),z=z(t), 则其图形可由下面的命令绘出:
plot3(x,y,z,s)
例:三维螺旋线
>> t = 0 : pi/10 : 10*pi; >> x = 2*t; >> y = sin(t); >> z = cos(t); >> plot3(x,y,z);
mesh 绘制网格图,surf 绘制表面着色的曲面图
sphere(n) 专用于绘制单位球面 [X,Y,Z]=sphere(n)
自己动手
sphere 只能画单位球面!
绘制球面 x2 + y2 + z2 = 16
21
surf 作图举例
>> [X,Y]=meshgrid(-8:0.5:8); >> r=sqrt(X.^2+Y.^2)+eps; >> Z=sin(r)./r; >> surf(X,Y,Z)
>> u=a:hu:b; y=c:hv:d; >> [U,V]=meshgrid(u,v); >> X=x(U,V); Y=y(U,V); Z=z(U,V); >> mesh(X,Y,Z)
20
其它三维曲面作图命令
空间曲面其它作图函数 surf(X,Y,Z)
绘制由矩阵 X,Y,Z 所确定的曲面图,参数含义同 mesh
Matlab 符号作图
空间曲面绘图: ezmesh、ezsurf
ezmesh(z(x,y),[a,b,c,d])
z z( x, y), a x b, c y d
ezmesh(z(x,y),[a,b])
z z( x, y), a x, y b
ezsurf 的用法 与 ezmesh 相同
作用:指定坐标轴的显示范围
其它调用方式:
axis auto
自动模式,使得图形的坐标满足图中的一切元素
axis equal
各坐标轴采用等长刻度
axis square
使绘图区域为正方形
axis on/off
恢复/取消对坐标轴的一切设置
axis manual
以当前的坐标限制图形的绘制(多图时)
……
更多参见 axis 的联机帮助
缺省的绘图区间为 [-2, 2]
绘制 y = f (x) 在区域 -2 < x < 2 上的图形
ezplot(f(x,y))
缺省的绘图区间为 [-2, 2]
绘制 f (x, y) = 0 在区域 -2 < x, y < 2 上的图形
ezplot(x(t),y(t))
缺省的绘图区间为 [0, 2]
绘制 x = x(t), y = y(t) 在区域 0 < t < 2 上的图形
22
mesh 与 surf 的比较
mesh(X,Y,Z)
surf(X,Y,Z)
23
>> sphere;
sphere 作图
>> sphere(60); >> axis equal;
如果没有给出 n 的值, 则系统默认为 n=20
24
坐标轴控制
坐标轴控制命令: axis
axis([xmin, xmax, ymin, ymax, zmin, zmax])
13
空间曲线作图举例
>> t=[0:0.1:20]; >> x=t; >> y=sin(t); >> z=cos(t); >> plot3(x,y,z,’.-’)
>> t=[0:0.1:20]; >> x=t; >> y=sin(t); >> z=cos(t); >> plot3(x,y,z)
14
12
空间曲线作图举例
>> t=[0:0.5:20]; >> x=t; >> y=sin(t); >> z=cos(t); >> plot3(x,y,z,’.’)
>> t=[0:0.5:20]; >> x=t; >> y=sin(t); >> z=cos(t); >> plot3(x,y,z,’.-’)
若 x = y, 则可简写为:[X,Y]= meshgrid(x)
6
绘制三维曲面
sin x2 y2
例:绘制由函数 z
确定的曲面
x2 y2
其中 -8 <= x <= 8, -8 <= y <= 8。
>> x = -8 : 0.5 : 8; >> y = -8 : 0.5 : 8; >> [X,Y] = meshgrid(x,y); >> r = sqrt(X.^2 + Y.^2) + eps; >> Z = sin(r) ./ r; >> mesh(X,Y,Z)
zm2
z1n
z2n
zmn
线: 分别沿 x 方向和 y 方向
连接这些点即可得到
15
墨西哥帽子
例:墨西哥帽子: 由函数 z = sin(r) / r 确定的曲面,其中 r x2 y2 ( –a < x < a, -a < y <a )
16
三维曲面作图举例
a=8 时的曲面图形 [X,Y]=meshgrid([-8:0.5:8]);
绘制 f (x, y) = 0 在区域 a < x < b, c < y < d 上的图形
ezplot(x(t),y(t),[a,b])
绘制 x = x(t), y = y(t) 在区域 a < t < b 上的图形
28
二维曲线 ezplot
二维曲线绘图命名: ezplot
ezplot(f(x))
一、画点 >> x=0:pi/5:2*pi; >> y=sin(x); >> plot(x,y,'.')
9
二维曲线作图过程 点 线:先画点,后连线
例:y = sin(x), 0 < x < 2
二、连线 >> x=0:pi/5:2*pi; >> y=sin(x); >> plot(x,y,'r.-')
25
图像的着色方案
colormap: 设置绘图的着色方案
colormap([r g b]) 或 colormap(s)
r, g, b 都是 0 ~ 1 之间的一个数
s 为字符串,表示所采用的色系,常用的值有
颜色映象 相应的颜色系 颜色映象 相应的颜色系
autumn 红黄色系
hsv
色调饱和色系
29
ezplot 作图
>> ezplot('sin(x)');
>> ezplot('sin(x)', ... [-pi,pi] );
30
Matlab 符号作图
空间曲线绘图: ezplot3 ezplot3(x(t),y(t),z(t),[a,b])
绘制空间曲线:x = x (t) , y = y (t) , z = z (t) , a < t < b
ezplot3(x(t),y(t),z(t))
绘制空间曲线:x = x (t) , y = y (t) , z = z (t) , 0 < t < 2 缺省的绘图区间为 [0, 2]
例: ezplot3('2*t','sin(t)','cos(t)',[0,20])
符号作图时要注意 使用 单引号! 31
三维曲面作图
先画点,后连线,构成曲面网格图
点: ( xij , yij , zij ) i 1,,m, j 1,,n
x11 x12
X
x21
x22
xm1
xm2
x1n
x2n
xmn
y11 y12
Y
y21
y22
ym1
ym 2
y1n
y2n
ymn
z11 z12
Z
z21
z22
zm1
ezmesh(z(x,y))
z z( x, y), 2 x, y 2
ezmesh(x(s,t),y(s,t),z(s,t),[a,b,c,d])
x x(s, t), y y(s, t), z z(s, t), a s b, c t d
ezmesh(x(s,t),y(s,t),z(s,t),[a,b])
ezmesh(x(s,t),y(s,t),z(s,t))
32
以上有不当之处,请大家给与批评指 正,谢谢大家!
33
plot3 的用法与 plot 类似
2
绘制三维曲面示例
3
绘制三维曲面
空间曲面作图命令:mesh
mesh(X,Y,Z)
绘制由矩阵 X, Y, Z 所确定的曲面网格图
x11 x12
X
x21
x22
xm1
xm2
x1n
y11 y12
x2n
,
Y
y21
y22
xmn
ym1
ym 2
y1n
z11 z12
y2n,Z源自z21z22ymn
zm1
zm2
z1n
z2n
zmn
Pij ( xij , yij , zij )
例:>> [X,Y]=meshgrid(-3:1/8:3);
>> Z=peaks(X,Y); >> mesh(X,Y,Z);
4
绘制三维曲面的过程
绘制空间曲面 z = z(x,y) 的一般过程 与绘制二维曲线类似,先对 x 的变化区域和 y 的变化区域 进行分割,得到离散的点 (xij, yij),这些点构成了网格矩阵, 即矩阵 X 和 Y,这些离散的点称为网格点 计算 z 在这些网格点上的函数值,即可的矩阵 Z
三、加密:取更二多维的点作图举例
>> x=[0:pi/20:2*pi]; >> y=sin(x); >> plot(x,y,'.')
11
三维曲线作图过程
x t
例:绘制三维螺线:
y
sin( t )
z cos(t)
( 0 < t < 20 )
先画点,后连线
1) 计算空间离散点的坐标 (x,y,z) 2) 将这些点按顺序连接即可
调用 Matlab 的绘图命令作出曲面图形
怎样得到网格矩阵 X 和 Y ?
—— 利用 Matlab 的网格生成函数 meshgrid
5
网格生成函数
网格生成函数 [X,Y] = meshgrid(x,y) x,y 是分别对 x 变化区域和 y 变化区域进行分割后
得到的向量 X, Y 即为我们所需要的网格矩阵
>> x= -8:0.5:8; >> y= -8:0.5:8; >> [X,Y]=meshgrid(x,y); >> r=sqrt(X.^2+Y.^2)+eps; >> Z=sin(r)./r; >> mesh(X,Y,Z)
+eps?
1) x 与 y 可以取不同的步长 2) 注意这里采用的数组运算
最后一个命令能否改为 mesh(Z)?
gray cool
线性灰色系 hot 青和洋红色系 pink
黑红黄白色系 柔和色系
26
Matlab 符号作图
27
二维曲线 ezplot
二维曲线绘图命名: ezplot ezplot(f(x),[a,b])
绘制 y = f (x) 在区域 a < x < b 上的图形
ezplot(f(x,y),[a,b,c,d])
mesh绘制由矩阵xijijijij111221221112212211122122的一般过程与绘制二维曲线类似先对x的变化区域和y的变化区域进行分割得到离散的点xijij这些点构成了网格矩阵即矩阵x和y这些离散的点称为网格点计算z在这些网格点上的函数值即可的矩阵z调用matlab的绘图命令作出曲面图形怎样得到网格矩阵x和y利用matlab的网格生成函数meshgrid是分别对x变化区域和y变化区域进行分割后得到的向量即为我们所需要的网格矩阵网格生成函数meshxyz例
7
其它三维曲面作图命令
绘制带等高线的空间曲面
meshc 调用方式与 mesh 相同,在 mesh 基础上增加等高线
绘制屏蔽边界面的空间曲面
meshz 调用方式与 mesh 相同,在 mesh 基础上屏蔽边界面
8
二维曲线作图过程 点 线:先画点,后连线
例:y = sin(x), 0 < x < 2
19
Mesh 绘图小结
显式方程:z=z(x,y), axb, cyd
>> x=a:hx:b; y=c:hy:d; >> [X,Y]=meshgrid(x,y); >> Z=z(X,Y); >> mesh(X,Y,Z)
参数方程:x=x(u,v),y=y(u,v),x=z(u,v)
aub, cvd
17
三维曲面作图举例
例:带等高线的曲面 meshc
>> [X,Y]=meshgrid(-8:0.5:8); >> r=sqrt(X.^2+Y.^2)+eps; >> Z=sin(r)./r; >> meshc(X,Y,Z)
18
三维曲面作图举例
例:带屏蔽面的曲面 meshz
>> [X,Y]=meshgrid(-8:0.5:8); >> r=sqrt(X.^2+Y.^2)+eps; >> Z=sin(r)./r; >> meshz(X,Y,Z)
数学实验
第六讲 Matlab 绘图(二)
空间三维作图与符号作图
1
绘制三维曲线
三维曲线 : plot3
设三维曲线的参数方程为:x=x(t),y=y(t),z=z(t), 则其图形可由下面的命令绘出:
plot3(x,y,z,s)
例:三维螺旋线
>> t = 0 : pi/10 : 10*pi; >> x = 2*t; >> y = sin(t); >> z = cos(t); >> plot3(x,y,z);
mesh 绘制网格图,surf 绘制表面着色的曲面图
sphere(n) 专用于绘制单位球面 [X,Y,Z]=sphere(n)
自己动手
sphere 只能画单位球面!
绘制球面 x2 + y2 + z2 = 16
21
surf 作图举例
>> [X,Y]=meshgrid(-8:0.5:8); >> r=sqrt(X.^2+Y.^2)+eps; >> Z=sin(r)./r; >> surf(X,Y,Z)
>> u=a:hu:b; y=c:hv:d; >> [U,V]=meshgrid(u,v); >> X=x(U,V); Y=y(U,V); Z=z(U,V); >> mesh(X,Y,Z)
20
其它三维曲面作图命令
空间曲面其它作图函数 surf(X,Y,Z)
绘制由矩阵 X,Y,Z 所确定的曲面图,参数含义同 mesh
Matlab 符号作图
空间曲面绘图: ezmesh、ezsurf
ezmesh(z(x,y),[a,b,c,d])
z z( x, y), a x b, c y d
ezmesh(z(x,y),[a,b])
z z( x, y), a x, y b
ezsurf 的用法 与 ezmesh 相同
作用:指定坐标轴的显示范围
其它调用方式:
axis auto
自动模式,使得图形的坐标满足图中的一切元素
axis equal
各坐标轴采用等长刻度
axis square
使绘图区域为正方形
axis on/off
恢复/取消对坐标轴的一切设置
axis manual
以当前的坐标限制图形的绘制(多图时)
……
更多参见 axis 的联机帮助
缺省的绘图区间为 [-2, 2]
绘制 y = f (x) 在区域 -2 < x < 2 上的图形
ezplot(f(x,y))
缺省的绘图区间为 [-2, 2]
绘制 f (x, y) = 0 在区域 -2 < x, y < 2 上的图形
ezplot(x(t),y(t))
缺省的绘图区间为 [0, 2]
绘制 x = x(t), y = y(t) 在区域 0 < t < 2 上的图形
22
mesh 与 surf 的比较
mesh(X,Y,Z)
surf(X,Y,Z)
23
>> sphere;
sphere 作图
>> sphere(60); >> axis equal;
如果没有给出 n 的值, 则系统默认为 n=20
24
坐标轴控制
坐标轴控制命令: axis
axis([xmin, xmax, ymin, ymax, zmin, zmax])
13
空间曲线作图举例
>> t=[0:0.1:20]; >> x=t; >> y=sin(t); >> z=cos(t); >> plot3(x,y,z,’.-’)
>> t=[0:0.1:20]; >> x=t; >> y=sin(t); >> z=cos(t); >> plot3(x,y,z)
14
12
空间曲线作图举例
>> t=[0:0.5:20]; >> x=t; >> y=sin(t); >> z=cos(t); >> plot3(x,y,z,’.’)
>> t=[0:0.5:20]; >> x=t; >> y=sin(t); >> z=cos(t); >> plot3(x,y,z,’.-’)
若 x = y, 则可简写为:[X,Y]= meshgrid(x)
6
绘制三维曲面
sin x2 y2
例:绘制由函数 z
确定的曲面
x2 y2
其中 -8 <= x <= 8, -8 <= y <= 8。
>> x = -8 : 0.5 : 8; >> y = -8 : 0.5 : 8; >> [X,Y] = meshgrid(x,y); >> r = sqrt(X.^2 + Y.^2) + eps; >> Z = sin(r) ./ r; >> mesh(X,Y,Z)
zm2
z1n
z2n
zmn
线: 分别沿 x 方向和 y 方向
连接这些点即可得到
15
墨西哥帽子
例:墨西哥帽子: 由函数 z = sin(r) / r 确定的曲面,其中 r x2 y2 ( –a < x < a, -a < y <a )
16
三维曲面作图举例
a=8 时的曲面图形 [X,Y]=meshgrid([-8:0.5:8]);
绘制 f (x, y) = 0 在区域 a < x < b, c < y < d 上的图形
ezplot(x(t),y(t),[a,b])
绘制 x = x(t), y = y(t) 在区域 a < t < b 上的图形
28
二维曲线 ezplot
二维曲线绘图命名: ezplot
ezplot(f(x))
一、画点 >> x=0:pi/5:2*pi; >> y=sin(x); >> plot(x,y,'.')
9
二维曲线作图过程 点 线:先画点,后连线
例:y = sin(x), 0 < x < 2
二、连线 >> x=0:pi/5:2*pi; >> y=sin(x); >> plot(x,y,'r.-')
25
图像的着色方案
colormap: 设置绘图的着色方案
colormap([r g b]) 或 colormap(s)
r, g, b 都是 0 ~ 1 之间的一个数
s 为字符串,表示所采用的色系,常用的值有
颜色映象 相应的颜色系 颜色映象 相应的颜色系
autumn 红黄色系
hsv
色调饱和色系
29
ezplot 作图
>> ezplot('sin(x)');
>> ezplot('sin(x)', ... [-pi,pi] );
30
Matlab 符号作图
空间曲线绘图: ezplot3 ezplot3(x(t),y(t),z(t),[a,b])
绘制空间曲线:x = x (t) , y = y (t) , z = z (t) , a < t < b
ezplot3(x(t),y(t),z(t))
绘制空间曲线:x = x (t) , y = y (t) , z = z (t) , 0 < t < 2 缺省的绘图区间为 [0, 2]
例: ezplot3('2*t','sin(t)','cos(t)',[0,20])
符号作图时要注意 使用 单引号! 31
三维曲面作图
先画点,后连线,构成曲面网格图
点: ( xij , yij , zij ) i 1,,m, j 1,,n
x11 x12
X
x21
x22
xm1
xm2
x1n
x2n
xmn
y11 y12
Y
y21
y22
ym1
ym 2
y1n
y2n
ymn
z11 z12
Z
z21
z22
zm1
ezmesh(z(x,y))
z z( x, y), 2 x, y 2
ezmesh(x(s,t),y(s,t),z(s,t),[a,b,c,d])
x x(s, t), y y(s, t), z z(s, t), a s b, c t d
ezmesh(x(s,t),y(s,t),z(s,t),[a,b])
ezmesh(x(s,t),y(s,t),z(s,t))
32
以上有不当之处,请大家给与批评指 正,谢谢大家!
33
plot3 的用法与 plot 类似
2
绘制三维曲面示例
3
绘制三维曲面
空间曲面作图命令:mesh
mesh(X,Y,Z)
绘制由矩阵 X, Y, Z 所确定的曲面网格图
x11 x12
X
x21
x22
xm1
xm2
x1n
y11 y12
x2n
,
Y
y21
y22
xmn
ym1
ym 2
y1n
z11 z12
y2n,Z源自z21z22ymn
zm1
zm2
z1n
z2n
zmn
Pij ( xij , yij , zij )
例:>> [X,Y]=meshgrid(-3:1/8:3);
>> Z=peaks(X,Y); >> mesh(X,Y,Z);
4
绘制三维曲面的过程
绘制空间曲面 z = z(x,y) 的一般过程 与绘制二维曲线类似,先对 x 的变化区域和 y 的变化区域 进行分割,得到离散的点 (xij, yij),这些点构成了网格矩阵, 即矩阵 X 和 Y,这些离散的点称为网格点 计算 z 在这些网格点上的函数值,即可的矩阵 Z