第四讲 绘图功能.

Slides:



Advertisements
Similar presentations
MATLAB程序设计教程(第二版) 刘卫国 主编 中国水利水电出版社.
Advertisements

第5章 MATLAB绘图 5.1 二维图形 5.2 三维图形 5.3 三维图形的精细处理 5.4 隐函数绘图 5.5 低层绘图操作
MATLAB小结、 经典迭代法、CG.
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
1012 MATLAB 教學 彭奕翔 2013/02/27.
数学软件 Matlab —— 二维平面作图 —— 三维空间作图.
MATLAB程序设计基础 MATLAB的图形处理.
——matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。
数学软件 Matlab —— 二维平面作图 —— 三维空间作图.
——Matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。
数值计算的工具—MATLAB 电子计算机技术为应用数学解决实际问题创造了物质条件 。
第5章 MATLAB 绘图.
——matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。
第一部分 Matlab 软件介绍 《数学分析》实验课.
第三章 MATLAB图形系统 3.1 图形绘制 3.2 图形标注 3.3 对数和极坐标系中图形绘制 3.4 复杂图形绘制 3.5 坐标轴控制
Matlab教學 Speaker:林昱志 Date:2012/10/25.
第5章 MATLAB绘图 5.1 二维数据曲线图 5.2 其他二维图形 5.3 隐函数绘图 5.4 三维图形 5.5 图形修饰处理
Application of Matlab Language
第五讲 matlab句柄绘图 ——matlab语言的句柄绘图可以对图形各基本对象进行更为细腻的修饰,可以产生更为复杂的图形,而且为动态图形的制作奠定了基础。
第4章 MATLAB绘图 4.1 MATLAB二维曲线绘图 基本绘图指令 1.plot(Y) 功能:画一条或多条折线图.
绘制圆与多边形 椭圆形 绘制椭圆形的方法是 drawOval(x ,y , width , height), 绘制实心椭圆形的方法是
  MATLAB操作基础 《信息隐藏实验教程》教学幻灯片 一.
1.2 MATLAB变量表达式与数据格式 MATLAB变量与表达式 MATLAB的数据显示格式
数学模型实验课(三) 插值与三维图形.
第三章 MATLAB图形系统 3.1 图形绘制 3.2 图形标注 3.3 对数和极坐标系中图形绘制 3.4 复杂图形绘制 3.5 坐标轴控制
第二篇:MATLAB的高级应用和绘图简介
数学建模与数学实验 MATLAB作图.
§ 9.1常用数学软件简介及MATLAB基础知识
实验二 MATLAB绘制图形 (一) 实验类型:验证性 (二) 实验类别:基础实验 (三) 实验学时数:2学时 .
POWERPOINT TEMPLATE HI.
双曲线的简单几何性质 杏坛中学 高二数学备课组.
28.1 锐角三角函数(2) ——余弦、正切.
第一章 函数与极限.
1.函数 2.程序 3.图形 目的:掌握Matlab作平面曲线图的方法与技巧
第一单元 第3课 Matlab基本语法与操作 1. plot指令的基本调用格式 2.多次叠绘、双纵坐标和多子图 3.多子图
第九单元 第1课 实验 Matlab动画 1.洛仑兹非线性奇异方程所描述的无序运动 2.作y=sin(x)的程序动画(1)
数学软件 第9讲 MATLAB绘图二 主讲教师: 鲜大权 副教授 西南科技大学理学院数学系.
第二十二章 曲面积分 §1 第一型曲面积分 §2 第二型曲面积分 §3 高斯公式与斯托克斯公式.
第三单元 第3课 实验 多元函数的积分 实验目的:掌握matlab计算二重积分与三重积分的方法,提高应用重积分解决有关应用问题的能力。
产品推广 PRODUCT PROMOTION PRESENTED BY OfficePLUS.
第5章 MATLAB绘图 5.1 二维图形 5.2 三维图形 5.3 三维图形的精细处理 5.4 隐函数绘图 5.5 低层绘图操作
Z Mathematical Model ‡ ' 图形处理.
MATLAB 程式設計入門篇 三維立體繪圖 (part1)
三維繪圖 Helix t = 0:pi/50:10*pi; % linspace(0,10*pi,500); figure plot3(sin(t),cos(t),t) grid on axis square Remark: zlabel, view, surf.
第3章 MATLAB图形初步 编者.
第二章 MATLAB编程与作图 2.1 程序设计 2.2 作图 2.3 在线帮助和文件管理 2.4 习题 2019年4月23日
第4章 Excel电子表格制作软件 4.4 函数(一).
复习: 若A(x1,y1,z1) , B(x2,y2,z2), 则 AB = OB - OA=(x2-x1 , y2-y1 , z2-z1)
正切函数的图象和性质 周期函数定义: 一般地,对于函数 (x),如果存在一个非零常数T,使得当x取定义域内的每一个值时,都有
iSIGHT 基本培训 使用 Excel的栅栏问题
第7章 MATLAB图形用户界面设计 7.1 菜单设计 7.2 对话框设计 7.3 用户界面设计工具.
_13简单的GDI绘图操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
第二节 MATLAB 图形处理 内容: §1 二维图形显示 §2 图形可视编辑工具 §3 三维图形显示 §4 视角变换与三视图
学习任务三 偏导数 结合一元函数的导数学习二元函数的偏导数是非常有用的. 要求了解二元函数的偏导数的定义, 掌握二元函数偏导数的计算.
O x y i j O x y i j a A(x, y) y x 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
图片与视频数字化. 图片与视频数字化 图片分类 根据图片的构成元素来分 位图: 由像素组成,计算机按顺序存储每个像素点 的颜色信息的保存方式获得的图片。 位图放大后会模糊失真,存储空间相对较大。 矢量图: 由图元组成,通过数学公式计算获得的图片。 放大后不会失真,占用空间小。
基于列存储的RDF数据管理 朱敏
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
实验一 特殊函数与图形.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
第四章 UNIX文件系统.
实验二 MATLAB绘制图形.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
1.4.1正弦函数、余弦函数的图象.
第2章 MATLAB的基本语法 2.1 变量及其赋值 2.2 运算符与数学表达式 2.3 控制流 2.4 数据的输入输出及文件的读写
1.4.1正弦函数、余弦函数的图象.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
Presentation transcript:

第四讲 绘图功能

作为一个功能强大的工具软件,Matlab具有很强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即常方便又高效。

4.1 二维图形 一、 plot函数 函数格式:plot(x,y) 其中x和y为坐标向量 函数功能:以向量x、y为轴,绘制曲线。 4.1 二维图形 一、 plot函数 函数格式:plot(x,y) 其中x和y为坐标向量 函数功能:以向量x、y为轴,绘制曲线。 【例1】 在区间0≤X≤2内,绘制正弦曲线Y=SIN(X),其程序为: x=0:pi/100:2*pi; y=sin(x); plot(x,y)

x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2) 一、 plot函数 4.1 二维图形 一、 plot函数 【例2】同时绘制正、余弦两条曲线Y1=SIN(X)和Y2=COS(X),其程序为: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2) plot函数还可以为plot(x,y1,x,y2,x,y3,…)形式,其功能是以公共向量x为X轴,分别以y1,y2,y3,…为Y轴,在同一幅图内绘制出多条曲线。

(一)线型与颜色 格式:plot(x,y1,’cs’,...) 一、 plot函数 其中c表示颜色, s表示线型。 4.1 二维图形 一、 plot函数 (一)线型与颜色 格式:plot(x,y1,’cs’,...) 其中c表示颜色, s表示线型。 【例3】 用不同线型和颜色重新绘制例4.2图形,其程序为: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,'go',x,y2,'b-.') 其中参数'go'和'b-.'表示图形的颜色和线型。g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。

(二)图形标记 title(‘加图形标题'); xlabel('加X轴标记'); ylabel('加Y轴标记'); 4.1 二维图形 一、 plot函数 (二)图形标记 在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。 title(‘加图形标题'); xlabel('加X轴标记'); ylabel('加Y轴标记'); text(X,Y,'添加文本');

(三)设定坐标轴 用户若对坐标系统不满意,可利用axis命令对其重新设定。 一、 plot函数 4.1 二维图形 一、 plot函数 (三)设定坐标轴 用户若对坐标系统不满意,可利用axis命令对其重新设定。 axis([xmin xmax ymin ymax]) 设定最大和最小值 axis (’auto’) 将坐标系统返回到自动缺省状态 axis (’square’) 将当前图形设置为方形 axis (’equal’) 两个坐标因子设成相等 axis (’off’) 关闭坐标系统 axis (’on’) 显示坐标系统

【例4】 在坐标范围0≤X≤2π,-2≤Y≤2内重新绘制正弦曲线,其程序为: 4.1 二维图形 一、 plot函数 【例4】 在坐标范围0≤X≤2π,-2≤Y≤2内重新绘制正弦曲线,其程序为: x=linspace(0,2*pi,60);生成含有60个数据元素的向量X y=sin(x); plot(x,y); axis ([0 2*pi -2 2]);设定坐标轴范围

格式:legend('图例说明','图例说明'); 4.1 二维图形 一、 plot函数 (四)加图例 给图形加图例命令为legend。该命令把图例放置在图形空白处,用户还可以通过鼠标移动图例,将其放到希望的位置。 格式:legend('图例说明','图例说明'); 【例5】 为正弦、余弦曲线增加图例,其程序为: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2, '--'); legend('sin(x)','cos(x)');

该命令将当前图形窗口分成m×n个绘图区, 即每行n个,共m行,区号按行优先编号, 且选定第p个区为当前活动区。 4.1 二维图形 二、 subplot函数 (一)subplot(m,n,p) 该命令将当前图形窗口分成m×n个绘图区, 即每行n个,共m行,区号按行优先编号, 且选定第p个区为当前活动区。

【例6】 在一个图形窗口中同时绘制正弦、余弦、正切、余切曲线,程序为: 4.1 二维图形 二、subplot函数 【例6】 在一个图形窗口中同时绘制正弦、余弦、正切、余切曲线,程序为: x=linspace(0,2*pi,60); y=sin(x); z=cos(x); t=sin(x)./(cos(x)+eps); eps为系统内部常数 ct=cos(x)./(sin(x)+eps); subplot(2,2,1); 分成2×2区域且指定1号为活动区 plot(x,y); title('sin(x)'); axis ([0 2*pi -1 1]); subplot(2,2,2); plot(x,z); title('cos(x)'); axis ([0 2*pi -1 1]); subplot(2,2,3); plot(x,t); title('tangent(x)'); axis ([0 2*pi -40 40]); subplot(2,2,4); plot(x,ct); title('cotangent(x)');

(二)多图形窗口 二、subplot函数 需要建立多个图形窗口,绘制并保持每一个窗口的图形,可以使用figure命令。 4.1 二维图形 二、subplot函数 (二)多图形窗口 需要建立多个图形窗口,绘制并保持每一个窗口的图形,可以使用figure命令。 每执行一次figure命令,就创建一个新的图形窗口,该窗口自动为活动窗口,若需要还可以返回该窗口的识别号码,称该号码为句柄。句柄显示在图形窗口的标题栏中,即图形窗口标题。用户可通过句柄激活或关闭某图形窗口,而axis、xlabel、title等许多命令也只对活动窗口有效。

重新绘制上例4个图形,程序变动后如下: 二、subplot函数 4.1 二维图形 H3=figure; 同上 4.1 二维图形 二、subplot函数 重新绘制上例4个图形,程序变动后如下: x=linspace(0,2*pi,60); y=sin(x); z=cos(x); t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); H1=figure; 创建新窗口并返回句柄到变量H1 plot(x,y); 绘制图形并设置有关属性 title('sin(x)'); axis ([0 2*pi -1 1]); H2=figure; 创建第二个窗口并返回句柄到变量H2 plot(x,z); 绘制图形并设置有关属性 title('cos(x)'); axis ([0 2*pi -1 1]); H3=figure; 同上 plot(x,t); title('tangent(x)'); axis ([0 2*pi -40 40]); H4=figure; 同上 plot(x,ct); title('cotangent(x)');

4.1 二维图形 二、subplot函数 (三)hold命令 若在已存在图形窗口中用plot命令继续添加新的图形内容,可使用图形保持命令hold。发出命令hold on后,再执行plot命令,在保持原有图形或曲线的基础上,添加新绘制的图形。

阅读如下程序: 二、subplot函数 hold on; 设置图形保持状态 hold off 关闭图形保持 4.1 二维图形 4.1 二维图形 二、subplot函数 阅读如下程序: x=linspace(0,2*pi,60); y=sin(x); z=cos(x); plot(x,y,'b'); 绘制正弦曲线 hold on; 设置图形保持状态 plot(x,z,'g'); 保持正弦曲线同时绘制余弦曲线 axis ([0 2*pi -1 1]); legend('cos','sin'); hold off 关闭图形保持

fplot函数则可自适应地对函数进行采样,能更好地反应函数的变化规律。 fplot函数格式:fplot(fname,lims,tol) 4.1 二维图形 三、 函数f(x)曲线 fplot函数则可自适应地对函数进行采样,能更好地反应函数的变化规律。 fplot函数格式:fplot(fname,lims,tol) 其中fname为函数名,以字符串形式出现,lims为变量取值范围,tol为相对允许误差,其其系统默认值为2e-3。 例:fplot(‘sin(x)’,[0 2*pi],’-+’) fplot(‘[sin(x),cos(x)]’,[0 2*pi],1e-3,’·’) 同时绘制正弦、余弦曲线

为绘制f(x)=cos(tan(πx))曲线,可先建立函数文件fct.m,其内容为: 4.1 二维图形 三、 函数f(x)曲线 为绘制f(x)=cos(tan(πx))曲线,可先建立函数文件fct.m,其内容为: function y=fct(x) y=cos(tan(pi*x)); 用fplot函数调用fct.m函数,其命令为: fplot(‘fct’,[0 1],1e-4)

loglog(x,y); 双对数坐标绘图命令 4.2 特殊坐标图形 一、 对数坐标图形 (一)loglog(x,y) 双对数坐标 【例7】 绘制y=|1000sin(4x)|+1的双对数坐标图。程序为: x=[0:0.1:2*pi]; y=abs(1000*sin(4*x))+1; loglog(x,y); 双对数坐标绘图命令

(二)单对数坐标 x=[0:0.01:2*pi] y=abs(1000*sin(4*x))+1 4.2特殊坐标图形 (二)单对数坐标 以X轴为对数重新绘制上述曲线,程序为: x=[0:0.01:2*pi] y=abs(1000*sin(4*x))+1 semilogx(x,y); 单对数X轴绘图命令 同样,可以以Y轴为对数重新绘制上述曲线,程序为: semilogy(x,y); 单对数Y轴绘图命令

polar(theta,rho); 绘制极坐标图命令 4.2特殊坐标图形 二、 极坐标图 函数polar(theta,rho)用来绘制极坐标图,theta为极坐标角度,rho为极坐标半径 【例8】 绘制sin(2*θ)*cos(2*θ)的极坐标图,程序为: theta=[0:0.01:2*pi]; rho=sin(2*theta).*cos(2*theta); polar(theta,rho); 绘制极坐标图命令 title('polar plot');

4.3 其它图形函数 除plot等基本绘图命令外,Matlab系统提供了许多其它特殊绘图函数,这里举一些代表性例子,更详细的信息用户可随时查阅在线帮助,其对应的M-file文件存放在系统\matlab\toolbox\matlab目录下。

4.3 其它图形函数 一、阶梯图形 x=[-2.5:0.25:2.5]; y=exp(-x.*x); 4. 3 其它图形函数 4.3 其它图形函数 一、阶梯图形 函数stairs(x,y)可以绘制阶梯图形,如下列程序段: x=[-2.5:0.25:2.5]; y=exp(-x.*x); stairs(x,y); 绘制阶梯图形命令 title('stairs plot');

4.3 其它图形函数 二、条形图形 函数bar(x,y)可以绘制条形图形,如下列程序段将绘制条形图形 x=[-2.5:0.25:2.5]; 4. 3 其它图形函数 4.3 其它图形函数 二、条形图形 函数bar(x,y)可以绘制条形图形,如下列程序段将绘制条形图形 x=[-2.5:0.25:2.5]; y=exp(-x.*x); bar(x,y); 绘制条形图命令

4. 3 其它图形函数 4.3 其它图形函数 三、填充图形 fill(x,y,’c’)函数用来绘制并填充二维多边图形,x和y为二维多边形顶点坐标向量。字符 ’c’ 规定填充颜色,其取值前已叙述。 下述程序段绘制一正方形并以黄色填充:

4.3 其它图形函数 再如: x=[0 1 1 0 0]; 正方形顶点坐标向量 y=[0 0 1 1 0]; 4. 3 其它图形函数 4.3 其它图形函数 x=[0 1 1 0 0]; 正方形顶点坐标向量 y=[0 0 1 1 0]; fill(x,y,'y');绘制并以黄色填充正方形图 再如: x=[0:0.025:2*pi]; y=sin(3*x); fill(x,y,[0.5 0.3 0.4]); 颜色向量 Matlab系统可用向量表示颜色,通常称其为颜色向量。基本颜色向量用[r g b]表示,即RGB颜色组合;以RGB为基本色,通过 r,g,b在0~1范围内的不同取值可以组合出各种颜色。

二维绘图函数小结 4. 3 其它图形函数 plot 二维图形基本函数 fplot f(x)函数曲线绘制 fill 填充二维多边图形 4. 3 其它图形函数 二维绘图函数小结 plot 二维图形基本函数 fplot f(x)函数曲线绘制 fill 填充二维多边图形 polar 极坐标图 bar 条形图 loglog 双对数坐标图 semilogx X轴为对数的坐标图 semilogy Y轴为对数的坐标图 stairs 阶梯形图 axis 设置坐标轴 clf 清除图形窗口内容 close 关闭图形窗口 figure 创建图形窗口 grid 放置坐标网格线 gtext 用鼠标放置文本 hold 保持当前图形窗口内容 subplot 创建子图 text 放置文本 title 放置图形标题 xlabel 放置X轴坐标标记 ylabel 放置Y轴坐标标记

4.4 三维图形 一、 plot3函数 最基本的三维图形函数为plot3,它是将二维函数plot的有关功能扩展到三维空间,用来绘制三维图形。 4.4 三维图形 一、 plot3函数 最基本的三维图形函数为plot3,它是将二维函数plot的有关功能扩展到三维空间,用来绘制三维图形。 函数格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,…) 其中x1,y1,z1…表示三维坐标向量,c1,c2…表示线形或颜色。 函数功能:以向量x,y,z为坐标,绘制三维曲线。

title('helix'),text(0,0,0,'origin'); 4.4 三维图形 【例9】 绘制三维螺旋曲线,其程序为: t=0:pi/50:10*pi; y1=sin(t),y2=cos(t); plot3(y1,y2,t); title('helix'),text(0,0,0,'origin'); xlabel('sin(t)'),ylabel('cos(t)'),zlabel('t'); grid;

二、mesh函数 函数格式:mesh(x,y,z,c) 4.4 三维图形 二、mesh函数 mesh函数用于绘制三维网格图。在不需要绘制特别精细的三维曲面结构图时,可以通过绘制三维网格图来表示三维曲面。三维曲面的网格图最突出的优点是:它较好地解决了实验数据在三维空间的可视化问题。 函数格式:mesh(x,y,z,c) 其中x,y控制X和Y轴坐标,矩阵z是由(x,y)求得Z轴坐标,(x,y,z)组成了三维空间的网格点;c用于控制网格点颜色。 【例10】 下列程序绘制三维网格曲面图 x=[0:0.15:2*pi]; y=[0:0.15:2*pi]; z=sin(y')*cos(x); 矩阵相乘 mesh(x,y,z);

三、surf函数 函数格式: surf (x,y,z) 4.4 三维图形 三、surf函数 surf用于绘制三维曲面图,各线条之间的补面用颜色填充。surf函数和mesh函数的调用格式一致。 函数格式: surf (x,y,z) 其中x,y控制X和Y轴坐标,矩阵z是由x,y求得的曲面上Z轴坐标。 【例11】 下列程序绘制三维曲面图形 x=[0:0.15:2*pi]; y=[0:0.15:2*pi]; z=sin(y')*cos(x); 矩阵相乘 surf(x,y,z); xlabel('x-axis'),ylabel('y-axis'),zlabel('z-label'); title('3-D surf');

4.4 三维图形 四、视点 视点位置可由方位角和仰角表示。方位角又称旋转角为视点位置在XY平面上的投影与X轴形成的角度,正值表示逆时针,负值表示顺时针。仰角又称视角为XY平面的上仰或下俯角,正值表示视点在XY平面上方,负值表示视点在XY平面下方。从不同视点绘制三维图形的函数为view。 view(az,el)中的az为方位角,el为仰角。通过系统提供的多峰函数peaks的绘制例子,可进一步说明视点对图形的影响,以及view(az,el)函数的使用。

【例12】 不同视角图形 view(-90,0); 指定子图3的视点 view(-37.5,30); 指定子图1的视点 4.4 三维图形 【例12】 不同视角图形 p=peaks; 系统提供的多峰函数 subplot(2,2,1); mesh(peaks,p); view(-37.5,30); 指定子图1的视点 title('azimuth=-37.5,elevation=30') subplot(2,2,2); view(-17,60); 指定子图2的视点 title('azimuth=-17,elevation=60') subplot(2,2,3); mesh(peaks,p); view(-90,0); 指定子图3的视点 title('azimuth=-90,elevation=0') subplot(2,2,4); view(-7,-10);指定子图4的视点 title('azimuth=-7,elevation=-10')

title('contour3 of peaks') 4.4 三维图形 五、等高线图 等高线图可通过函数contour3绘制。 【例13】 多峰函数peaks的等高线图 [x,y,z]=peaks(30); contour3(x,y,z,16); xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis'); title('contour3 of peaks')

4.5 图形句柄 一、句柄 在Matlab系统中,绘图命令产生的每一个部分称为图形对象,系统在创建每一个对象时,都为该对象分配唯一的一个值,称其为句柄,因此句柄就是图形对象标识符。对象、句柄以及图形对象等概念其实质是统一的,系统将每一个对象按树型层次结构组织起来,这些对象包括根对象,通常为计算机屏幕、图形窗口、坐标系统、线条、曲面、文本串、用户界面控制等。

4.5 图形句柄 根对象可包含一个或多个图形窗口对象,而一个图形窗口对象又可包含一组或多组坐标系子对象,线条、文本等其它对象都是坐标系的子对象。所有创建对象的函数当父对象不存在时,都会自动创建它。 计算机屏幕作为根对象自动建立,其句柄值为0。而Hf_f=figure命令则建立图形窗口对象,并返回它的句柄值给变量Hf_f。图形窗口的句柄为一整数,并显示在该窗口的标题栏,其它图形对象的句柄为浮点数,Matlab提供了一系列与句柄操作有关的函数,如gcf 、gca等。为便于识别,用大写字母开头的变量表示句柄,如Hf_f等。

set(H,’name’,value,…) 将图形对象H的name属性设置为value 4.5 图形句柄 二、对象属性 所有图形对象都具有控制对象显示的属性。这些属性既包括对象的一般信息,如对象类型、对象的父对象及子对象等,也包括对象的一些特定信息,如坐标系对象的刻度等。用户可以获取、设置对象属性,以达到控制对象的目的。当创建一个对象时,系统用一组默认属性值定制对象,用户梢酝üget命令获取这些属性值,同时也可通过set命令重新设置对象属性。 set命令格式为: set(H,’name’,value,…) 将图形对象H的name属性设置为value 其中H为句柄,name为属性名,value为name的属性值。

4.5 图形句柄 用set命令可以方便地设置图形对象属性,如下列程序段就是通过属性来定制图形。 4.5 图形句柄 4.5 图形句柄 用set命令可以方便地设置图形对象属性,如下列程序段就是通过属性来定制图形。 x=[0:0.1:4*pi]; H=plot(x,sin(x)); 返回正弦曲线句柄H set(H,'LineStyle','*','LineWidth',0.1);设置正弦曲线线型与线宽 其中'LineStyle'为线型属性,'LineWidth'为线宽属性。

4.5 图形句柄 键入命令:get(H) 系统返回当前图形对象的有关属性: 4.5 图形句柄 4.5 图形句柄 利用get(H)命令可以返回当前句柄H对象的属性。 键入命令:get(H) 系统返回当前图形对象的有关属性: 象H=get(0,’CurrentFigure’)则返回根对象的’CurrentFigure’的属性值,即当前图形窗口的句柄,相当于函数gcf。get(gcf,’Children’)则返回当前坐标系对象的句柄;类似的操作用户可在使用Matlab的过程中不断积累。

4.5 图形句柄 三、句柄应用 利用句柄操作的有关函数,用户可以查找、访问图形对象,以达到定制对象属性,改变对象显示效果的目的。 4.5 图形句柄 4.5 图形句柄 三、句柄应用 利用句柄操作的有关函数,用户可以查找、访问图形对象,以达到定制对象属性,改变对象显示效果的目的。 x=-pi:pi/20:pi; y=sin(x);z=cos(x); plot(x,y,'r',x,z,'g'); Hl_lines=get(gca,'Children'); 获取正、余曲线句柄向量Hl_lines for k=1:size(Hl_lines) if get(Hl_lines(k),‘Color’)==[0 1 0] [0 1 0]为绿颜色向 Hl_green=Hl_lines(k) 返回绿色线条句柄 end

4.6 动画设计 如果将Matlab产生的多幅图形保存起来,并利用系统提供的函数进行播放,就可产生动画效果。系统所提供的动画功能函数有getframe、moviein和movie。

4.6 动画设计 getframe函数 getframe函数可将当前图形窗口作为一个画面取下并保存,格式为:m=getframe它将每一帧画面信息数据截取下来整理成列向量。该函数截取图形的点阵信息,图形窗口的大小,对数据向量的大小影响较大,窗口越大,所需存储容量越大。而图形的复杂性对数据容量要求没有直接的关系。

4.6 动画设计 moviein函数 函数m=moviein(n)用来建立一个足够大的n列的矩阵m,用来保存n幅画面的数据,以备播放。 4.6 动画设计 4.6 动画设计 moviein函数 函数m=moviein(n)用来建立一个足够大的n列的矩阵m,用来保存n幅画面的数据,以备播放。 movie函数 movie(m,n)以每秒n幅图形的速度播放由矩阵m的列向量所组成的画面。

4.6 动画设计 【例14】 播放一个不断变化的眼球程序段。 m=moviein(20); 建立一个20个列向量组成的矩阵 4.6 动画设计 4.6 动画设计 【例14】 播放一个不断变化的眼球程序段。 m=moviein(20); 建立一个20个列向量组成的矩阵 for j=1:20 plot(fft(eye(j+10))) 绘制出每一幅眼球图并保存到m矩阵中 m(:,j)=getframe; end movie(m,10);以每秒10幅的速度播放画面

4.6 动画设计 再如下述程序段播放一个直径不断变化的球体。 n=30 [x,y,z]=sphere m=moviein(n); 4.6 动画设计 4.6 动画设计 再如下述程序段播放一个直径不断变化的球体。 n=30 [x,y,z]=sphere m=moviein(n); for j=1:n surf(i*x,i*y,i*z) m(:,j)=getframe; end movie(m,30);

习题四 1.在[0 2π]范围内绘制二维曲线图y=sin(x)*cos(5x)。 2.在[0 2π]范围内绘制以Y轴为对数的二维曲线图。 3. 在[–6 2]范围内用plot和fplot函数分别绘制二维曲线图。 4.绘制z=sin(x)*cos(y)的三维网格和三维曲面图,x,y变化范围均为 [0 2π]。