Presentation is loading. Please wait.

Presentation is loading. Please wait.

数学软件 Matlab —— 二维平面作图 —— 三维空间作图.

Similar presentations


Presentation on theme: "数学软件 Matlab —— 二维平面作图 —— 三维空间作图."— Presentation transcript:

1 数学软件 Matlab —— 二维平面作图 —— 三维空间作图

2 本讲主要内容 二维平面作图 三维空间作图 符号作图

3 手工作图 如何画出 y=sin(x) 在 [0, 2] 上的图像?

4 Matlab 作图 手工作图 Matlab 作图 例: 找点: x = 0, pi/4, pi/3, pi/2, pi, ...
求值: y = sin(0), sin(pi/4), sin(pi/3), ... 描点:在坐标系中画出这些离散点 连线:用直线或曲线连接这些点,得到函数的大致图形 Matlab 作图 找点: x=[0:pi/10:2*pi]; 求值: y=sin(x); 描点、连线:使用 Matlab 提供的绘图函数 plot 例: x=0:pi/10:2*pi; y=sin(x); plot(x,y);

5 二维作图命令 平面曲线绘图命令: plot plot(x,y) 例:作 y = cos(x) 在 [0, 4] 上的图像
x=0:pi/10:4*pi; y=cos(x); plot(x,y);

6 二维作图命令 平面曲线绘图命令: plot plot(y) 例: 绘制向量 y 的线性图 即以下标为横坐标,y 的分量为纵坐标,等价于:
x=[1:length(y)]; plot(x,y); 例: y=[0,0.4,0.8,1.0,0.9,6.1]; plot(y); 思考:plot(y) 与 plot(x,y) 有什么区别?

7 图形的属性 指定点和线的属性 plot(x,y,str) 例:
红色、虚线、 点用加号表示 例: x=0:pi/20:2*pi; plot(x,cos(x),'r+:'); 蓝色、间断线、 点用圆圈表示 x=0:pi/20:2*pi; plot(x,cos(x),'bo--'); 颜色,线型,点标记:可以全部指定,也可以部分指定,顺序任意

8 点和线的基本属性 help plot 线型 点标记 颜色 - 实线 : 虚线 -. 点划线 -- 间断线 空白(不画线) . 点 o 小圆圈
- 实线 : 虚线 -. 点划线 -- 间断线 空白(不画线) . 点 o 小圆圈 x 叉子符 + 加号 * 星号 s 方格 d 菱形 ^ 朝上三角 v 朝下三角 > 朝右三角 < 朝左三角 p 五角星 h 六角星 y 黄色 m 洋红/magenta c 青色/cyan r 红色 g 绿色 b 蓝色 w 白色 k 黑色

9 标题和坐标轴标注 title(str) xlabel(str) ylabel(str) 例: 添加标题
添加坐标轴标注 xlabel(str) ylabel(str) 例: x=0:pi/20:2*pi; plot(x,cos(x)); title('y=cos(x) 的图像'); xlabel('x 轴'); ylabel('y 轴');

10 绘制多个函数图像 在同一个绘图窗口绘制多个图像 plot(x1,y1, x2,y2, ...)
也可以同时指定每条曲线的属性 plot(x1,y1,str1, x2,y2,str2, ...) 另一中实现方法:hold on 例: x=0:pi/20:2*pi; y1=sin(x); y2=cos(x); plot(x,y1, x,y2); hold on plot(x1,y1,str1) plot(x2,y2,str2) ... hold off hold on; plot(x,y1); plot(x,y2);

11 图例 直观方法:可以直接在绘图窗口进行编辑 legend(str1,str2, ...) 例: text(x,y,str) 添加图例
x=0:pi/20:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,'bo-', x,y2,'ks--'); legend('sin(x)','cos(x)') 在任何指定的地方添加文本 text(x,y,str) 将 str 放到由 (x,y) 坐标指定的地方 直观方法:可以直接在绘图窗口进行编辑

12 划分绘图窗口 划分绘图窗口 subplot(m,n,p) 例:
将一个绘图窗口分割成 mn 个子区域,并 按行 从左至右 依次编号 ,p 表示第 p 个绘图子区域。 例: x=-pi:pi/20:pi; subplot(2,2,1); plot(x,sin(x)); subplot(2,2,2); plot(x,cos(x)); subplot(2,2,3); plot(x,x.^2); subplot(2,2,4); plot(x,exp(x));

13 其他相关命令 显示网格 保留当前绘图窗口中的图像 新建绘图窗口/选取绘图窗口 关闭绘图窗口 grid on / grid off
hold on / hold off 新建绘图窗口/选取绘图窗口 figure(n) 关闭绘图窗口 close / close all

14 本讲主要内容 二维平面作图 三维空间作图 符号作图 三维曲线 空间曲面

15 三维曲线 三维曲线绘图命令 : plot3 plot3(x,y,z) 设三维曲线的参数方程为:x=x(t),y=y(t),z=z(t),
则其图形可由下面的命令绘出: plot3(x,y,z) 例:三维螺旋线 t=0:pi/10:10*pi; x=sin(t); y=cos(t); z=2*t; plot3(x,y,z); plot3 只能绘制用参数方程表示的三维曲线 plot3 的用法与 plot 类似

16 三维曲面示例

17 三维曲面 绘制曲面的网格图 mesh(X,Y,Z) 例: 绘制由矩阵 X,Y,Z 所确定的曲面的网格图
[X,Y]=meshgrid(-3:1/8:3); Z=peaks(X,Y); mesh(X,Y,Z);

18 三维曲面绘制过程 绘制空间曲面 z = z(x,y) 网格图的步骤:
(1) 对 x 的取值区域和 y 的取值区域进行分割, 得到离散的点 (xij, yij),这些离散的点称为网格点 (2) 这些网格点构成了网格矩阵,即矩阵 X 和 Y (3) 计算 z 在这些网格点上的函数值,即可得矩阵 Z (4) 调用 Matlab 的绘图命令 mesh 绘出曲面图形 怎样得到网格矩阵 X 和 Y ? —— 利用 Matlab 的网格生成函数: meshgrid

19 网格生成函数 [X,Y]=meshgrid(x,y) 网格生成函数 x,y 是分别对 x 取值区域和 y 取值区域进行分割后 得到的向量
若 y = x, 则可简写为:[X, Y]=meshgrid(x)

20 墨西哥帽子 例:绘制墨西哥帽子 a = 8 时的曲面图形 x 方向与 y 方向可以取不同的步长 注意要使用数组运算
[X,Y]=meshgrid(x,y); r=sqrt(X.^2+Y.^2)+eps; Z=sin(r)./r; mesh(X,Y,Z); +eps? x 方向与 y 方向可以取不同的步长 注意要使用数组运算

21 meshc 和 meshz 其它网格曲面绘制函数:meshc、meshz 使用方式与 mesh 相同,在 mesh 基础上增加等高线

22 Mesh 绘图小结 显式方程绘图: x=a:hx:b; y=c:hy:d; [X,Y]=meshgrid(x,y); Z=z(X,Y);
mesh(X,Y,Z); 参数方程绘图: u=a:hu:b; v=c:hv:d; [U,V]=meshgrid(u,v); X=x(U,V); Y=y(U,V); Z=z(U,V); mesh(X,Y,Z);

23 Mesh 绘图举例 例:绘制马鞍面 显式方程绘图 x=-2:0.1:2; y=-3:0.1:3; [X,Y]=meshgrid(x,y);
Z=X.^2/4-Y.^2/9; mesh(X,Y,Z);

24 Mesh 绘图举例 例:绘制椭圆抛物面 参数方程绘图 t=0:pi/20:2*pi; r=0:0.1:5;
[T,R]=meshgrid(t,r); X=3*R.*cos(T); Y=4*R.*sin(T); Z=R.^2; mesh(X,Y,Z);

25 曲面作图其它命令 空间曲面其它作图命令 surf(X,Y,Z) sphere(n)
绘制带颜色的表面图 (surface),参数含义同 mesh 注:mesh 绘制网格图,surf 绘制着色表面图 sphere(n) 绘制单位球面,n 代表网格的多少 注:sphere 只能画单位球面!

26 surf 作图举例 surf mesh [X,Y]=meshgrid(-8:0.5:8); r=sqrt(X.^2+Y.^2)+eps;
Z=sin(r)./r; surf(X,Y,Z); surf mesh

27 sphere 作图 sphere; >> sphere(60); >> axis equal;
如果没有给出 n 的值, 则系统默认为 n=20

28 坐标轴控制 坐标轴控制命令 axis([xmin,xmax, ymin,ymax, zmin,zmax])
作用:指定坐标轴的显示范围 axis on/off % 显示/不显示坐标轴 其它调用方式: axis auto 自动,使得图形的坐标满足图中的一切元素 axis equal 各坐标轴采用等长刻度 axis square 使绘图区域为正方形 axis manual 以当前的坐标限制图形的绘制(多图时) 更多用法参见联机帮助:help axis

29 图像的着色方案 图形的着色方案 colormap(s) s 为字符串,表示所采用的色系,常用的值有 颜色映象 相应的颜色系 autumn
红黄色系 gray 线性灰色系 cool 青和洋红色系 pink 柔和色系 更多参见联机帮助: help colormap

30 本讲主要内容 二维平面作图 三维空间作图 符号作图

31 二维曲线 ezplot 二维曲线符号绘图函数 ezplot(f(x),[a,b]) ezplot(f(x,y),[a,b,c,d])
绘制 y = f (x) 在区域 a  x  b 上的图形 ezplot(f(x,y),[a,b,c,d]) 绘制 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 上的图形

32 二维曲线 ezplot ezplot(f(x)) ezplot(f(x,y)) ezplot(x(t),y(t))
缺省的绘图区间为 [-2, 2] ezplot(f(x)) 绘制 y = f (x) 在区域 -2  x  2 上的图形 缺省的绘图区间为 [-2, 2] ezplot(f(x,y)) 绘制 f (x, y) = 0 在区域 -2  x, y  2 上的图形 缺省的绘图区间为 [0, 2] ezplot(x(t),y(t)) 绘制 x = x(t), y = y(t) 在区域 0  t  2 上的图形

33 ezplot 作图 ezplot('sin(x)'); ezplot('sin(x)',[-pi,pi]); 符号作图时要注意使用 单引号!

34 Matlab 符号作图 空间曲线符号作图 ezplot3(x(t),y(t),z(t),[a,b])
绘制空间曲线:x = x (t) , y = y (t) , z = z (t) , a  t  b 缺省的绘图区间为 [0, 2] ezplot3(x(t),y(t),z(t)) 绘制空间曲线:x = x (t) , y = y (t) , z = z (t) , 0  t  2 例: ezplot3('2*t','sin(t)','cos(t)',[0,20])

35 Matlab 符号作图 空间曲面符号绘图函数: ezmesh、ezsurf ezsurf 的用法 与 ezmesh 相同
ezmesh(z(x,y),[a,b,c,d]) ezsurf 的用法 与 ezmesh 相同 ezmesh(z(x,y),[a,b]) ezmesh(z(x,y))

36 Matlab 符号作图 空间曲面符号绘图函数: ezmesh、ezsurf
ezmesh(x(s,t),y(s,t),z(s,t),[a,b,c,d]) ezmesh(x(s,t),y(s,t),z(s,t),[a,b]) ezmesh(x(s,t),y(s,t),z(s,t))


Download ppt "数学软件 Matlab —— 二维平面作图 —— 三维空间作图."

Similar presentations


Ads by Google