免费预览已结束,剩余75页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
戴国民:MATLAB 7.6.0学习指导书MATLAB 7.6.0学习指导书第一章 概述31.1 MATLAB能做什么?31.2 MATLAB语言的特点31.3 MATLAB语言主要的功能41.4 丰富的MATLAB工具箱41.5 MATLAB的工作界面和菜单功能4第二章 MATLAB基础知识62.1 数值计算 62.1.1 矩阵的创建62.1.2 矩阵的运算82.1.3 关系运算和逻辑运算102.1.4 多项式122.1.5 函数优化142.1.6 数据分析142.1.7 数值分析142.2 符号处理152.2.1 字符串152.2.2 符号运算172.3 图像处理212.3.1 二维绘图212.3.2 三维绘图262.3.3 符号函数绘图282.3.4 图形句柄282.4 程序设计基础342.4.1 程序设计简介342.4.2 变量362.4.3 数据类型362.4.4 程序结构372.4.5 程序流控制语句412.4.6 函数调用及变量传递42第三章 Simulink系统仿真433.1 建模433.1.1 模型建立的基本操作433.1.2 模型库483.1.3 闭环矢量方程503.2 仿真503.2.1 仿真参数设置503.2.2 运行仿真533.3 结果分析593.3.1 观察输出轨迹593.3.2 线性化593.3.3 平衡点603.4 子系统603.4.1 子系统的创建603.4.2 子系统的封装623.4.3 条件执行子系统64第四章 Simulink动态仿真实例664.1 蹦极跳系统动态仿真674.2 曲柄滑块机构动态仿真69第一章MATLAB概述Matlab(Matrix Laboratory)是美国Math Works公司在1994年推出的优秀科技应用软件,它具有强大的科技计算、图形处理、可视化、开放式和可扩展环境,特别是所附带的几十种面向不同领域的工具箱支持,已经广泛应用于数值分析、信号与图像处理、控制系统设计、通信仿真、工程优化、数学建模和统计分析等领域,成为目前市场上强有力的工程问题分析计算和程序设计的桌面工程师系统,是工科学生和研究生必须掌握的基本工具。1.1 MATLAB能做什么?M AT L A B是一个可视化的计算程序,被广泛地使用于从个人计算机到超级计算机范围内的各种计算机上。M AT L A B包括命令控制、可编程,有上百个预先定义好的命令和函数。这些函数能通过用户自定义函数进一步扩展。M AT L A B有许多强有力的命令。例如, M AT L A B能够用一个单一的命令求解线性系统,能完成大量的高级矩阵处理。M AT L A B有强有力的二维、三维图形工具。M AT L A B能与其他程序一起使用。例如, M AT L A B的图形功能,可以在一个 F O RT R A N程序中完成可视化计算。2 5个不同的M AT L A B工具箱可应用于特殊的应用领域。M AT L A B在以下的领域里解决各种问题是一个十分有效的工具:* 工业研究与开发。* 数学教学,特别是线性代数。所有基本概念都能涉及。* 在数值分析和科学计算方面的教学与研究。能够详细地研究和比较各种算法。* 在诸如电子学、控制理论和物理学等工程和科学学科方面的教学与研究。* 在诸如经济学、化学和生物学等有计算问题的所有其他领域中的教学与研究。* 在M AT L A B中创建的组是矩阵,M AT L A B的名字取自矩阵实验室( M ATrix LABoratory)。1.2 MATLAB语言的特点1. 语言简洁紧凑,语法限制不严,程序设计,自由度大,可移植性好2. 运算符、库函数丰富3. 图形功能强大4. 界面友好、编程效率高5. 扩展性强1.3 MATLAB语言主要的功能1 强大的数值(矩阵)运算功能2 广泛的符号运算功能3 高级与低级兼备的图形功能(计算结果的可视化功能)4 可靠的容错功能5 应用灵活的兼容与接口功能6 信息量丰富的联机检索功能1.4 丰富的MATLAB工具箱1 MATLAB主工具箱2 符号数学工具箱3 SIMULINK仿真工具箱4 控制系统工具箱5 信号处理工具箱6 图象处理工具箱7 通讯工具箱8 系统辨识工具箱9 神经元网络工具箱10 金融工具箱11 许多学科,在MATLAB中都有专用工具箱,现已有30多个工具箱,但MATLAB语言的扩展开发还远远没有结束,各学科的相互促进,将使得MATLAB更加强大,但我们在机构运动仿真方面主要运用SIMULINK仿真工具箱。1.5 MATLAB的工作界面和菜单功能1 工作界面1 开机执行程序 开始/所有程序/MATLAB/R2008a/MATLAB R2008a3 用鼠标单击MATLAB R2008图标,如图1-1所示。图 1-1 MATLAB R2008图标启动MATLAB后,系统弹出“MATLAB”界面,如图1-2所示。 图1-2MATLAB界面在“MATLAB”界面中有以下主要窗口:3 Command Window(命令窗口)是MATLAB的主要交互窗口,用于输入命令、函数、数组和表达式等信息,并且显示输出结果。4 Launch Pad(启动平台)列出了系统中安装的所有产品目录,如各种程序、函数、工具箱和帮助文件等,方便用户通过鼠标双击来启动相应的选项。5 Workspace(工作空间窗口)用于显示MATLAB在内存空间存储的所有变量的名称、大小和类型,可以对它们进行编辑、保存或删除。6 Command History(砾石命令窗口)用于记录已经运行过的命令、函数和表达式等信息,可以在该窗口中对它们进行重复运行或复制,也可以通过菜单“Edit” “Clear Command History”命令清除这些历史记录。7 Current Directory(当前目录浏览器)用于显示和设置当前工作目录,同时显示当前工作目录下的文件名、文件类型和目录的修改信息等。2菜单功能菜单项File,其功能如下New 建立新文件Open M-File 打开M-文件Open selected 打开选定文件Save Workspace As 将工作区存为Run M-File 运行 M-文件Look For Selected 寻找选定文件Print 打印Print Setup 打印设置Exit MATLAB 退出 MATLAB另外,在菜单栏中还有以下功能窗口:“Web”窗口。可以显示公司网站主页,进入MATLAB中心交流,会员注册讨论,检查产品更新,提供技术支持等;“Window”菜单。MATLAB command Window 的切换按钮;“Help”菜单。提供关于MATLAB产品版本的有关信息、在线帮助和范例演示等功能。第二章 Matlab基础知识2.1数值计算 数值计算指有效使用计算机求数学问题近似解的方法与过程。数学计算有数值计算和符号计算之分,它们的根本区别主要体现在:前者的表达式、矩阵变量不允许包含未定义的自由变量,而后者允许。2.1.1 矩阵的创建 1.直接输入法 规则: j 矩阵元素必须用括住 k 矩阵元素必须用逗号或空格分隔 l 在内矩阵的行与行之间必须用分号分隔 例1.1-1:1 2 0;3 0 5;7 8 92.matlab函数创建矩阵调用格式 f(m,n),其中f创建矩阵的函数; m矩阵的行数;n矩阵的列数。rand 随机矩阵eye 单位矩阵zeros 全部元素都为0的矩阵ones 全部元素都为1的矩阵例2.1-2:3.矩阵元素 矩阵元素可以是任何matlab表达式 ,可以是实数,也可以是复数,复数可用特殊函数I,j 输入。 例2.1-3: a=1 2 3;4 5 6 x=2 pi/2;sqrt(3) 3+5i2.1.2 矩阵的运算1.矩阵加减运算 规则: 相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减; 允许参与运算的两矩阵之一是标量。标量与矩阵的所有元素分别进行加减操作。2.矩阵乘法运算 规则: A矩阵的列数必须等于B矩阵的行数; 标量可与任何矩阵相乘。例 2.1-4 a=1 2 3;4 5 6;7 8 0; b=1;2;3; c=a*b c = 14 32 23 3. 矩阵乘方 an,ap,pa a p a 自乘p次幂 对于p的其它值,计算将涉及特征值和特征向量,如果p是矩阵,a是标量ap使用特征值和特征向量自乘到p次幂;如a,p都是矩阵,ap则无意义。例1.1-5: a=1,2,3;4,5,6;7,8,9;a2 ans = 30 36 42 66 81 96 102 126 150 当一个方阵有复数特征值或负实特征值时,非整数幂是复数阵。例2.1-6: a0.5 ans = 0.4498 + 0.7623i 0.5526 + 0.2068i 0.6555 -0.3487i 1.0185 + 0.0842i 1.2515 + 0.0228i 1.4844 -0.0385i 1.5873 - 0.5940i 1.9503 - 0.1611i 2.3134 + 0.2717i4. 矩阵的其它运算 inv 矩阵求逆det 行列式的值eig 矩阵的特征值diag 对角矩阵 矩阵转置sqrt 矩阵开方5.矩阵的一些特殊操作(1)矩阵的变维 a=1:12;b=reshape(a,3,4) c=zeros(3,4);c(:)=a(:)(2)矩阵的变向 rot90:旋转; fliplr:上翻; flipud:下翻(3)矩阵的抽取 diag:抽取主对角线; tril:抽取主下三角; triu: 抽取主上三角。6.矩阵的数组运算 数组运算指元素对元素的算术运算,与通常意义上的由符号表示的线性代数矩阵运算不同 (1)数组加减(.+ ,.-) (2)数组乘除(*.,./,.)a*.b a,b两数组必须有相同的行和列两数组相应元素相乘。 例1.1-7: a=1 2 3;4 5 6;7 8 9;b=2 4 6;1 3 5;7 9 10;a.*bans = 2 8 18 4 15 30 49 72 90 例2.1-8:a=1 2 3;b=4 5 6; c1=a.b; c2=b./a;ac1 = 4.0000 2.5000 2.0000c2 = 4.0000 2.5000 2.0000(3)数组乘方(.) 元素对元素的幂 例2.1-9: a=1 2 3;b=4 5 6; z=a.2 z = 1.00 4.00 9.00 z=a.b z = 1.00 32.00 729.002.1.3 关系运算和逻辑运算1.关系运算 实现两个量之间比较的关系运算符有:、=、=(等于)、=(不等于)。 关系运算法则说明: 1)当两个标量a、b比较时,则: 若a、b间关系成立,那么关系运算结果为“1” 若a、b间关系不成立,那么关系运算结果为“0” 2)当对两个维数相同的数组A和B进行比较时,其比较是对A和B数组相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果,最终的关系运算.的结果是一个维数与A或B相同,且其元累是由“0”或“1”,组成的数组。 3)当标量a与数组B进行比较时,则是把标量a与B数组的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果,最终的关系运算的结果是一个维数与B相同,且其元素是由“0”或“1”组成的数组。 4)在算术、关系和逻辑运算中,关系运算“优先权”居中。2.逻辑运算 MATLAB的逻辑运算有三种,即&(或)、(与)、 (非)。 逻辑运算法则: 1)在逻辑运算中,规定: 非零元素的逻辑量为“真”,用代码“0”表示; 零元素的逻辑量为“假”,用代码“1”表示。 2)若参与逻辑运算的是两个标量a和b,那么: a&b a、b全为非0时,运算结果为“1”,否则为“0”。C= a、b只要一个非0,运算结果为“1”。 a 当a为0时,运算结果为“1”,当a为非0时,运算结果为“0”。例2.1-10:2 .1.4 多项式 matlab语言把多项式表达成一个行向量,该向量中的元素是按多项式降幂排列的。 f(x)=anxn+an-1xn-1+a0 可用行向量 p=an an-1 a1 a0表示。 1.poly 产生特征多项式系数向量 所生成的特征多项式一定是n+1维的,且第一个元素一定是1。例2.1-11: a=1 2 3;4 5 6;7 8 0; p=poly(a) p= 1.00 -6.00 -72.00 -27.00 代表的多项式是p(x)=x3-6x2-72x-272.roots 求多项式的根例2.1-12: a=1 2 3;4 5 6;7 8 0;p=poly(a) p= 1.00 -6.00 -72.00 -27.00 r=roots(p) r= 12.12 -5.73 -0.393.conv,convs多项式乘法运算例2.1-13:a(x)=x2+2x+3; b(x)=4x2+5x+6;c = (x2+2x+3)(4x2+5x+6)a=1 2 3;b=4 5 6;c=conv(a,b)=conv(1 2 3,4 5 6)c = 4.00 13.00 28.00 27.00 18.00p=poly2str(c,x)p = 4 x4 + 13 x3 + 28 x2 + 27 x + 184.deconv多项式除运算例2.1-14:a=1 2 3; c=4.00 13.00 28.00 27.00 18.00d=deconv(c,a)d= 4.00 5.00 6.005.多项式微分调用格式格式:polyder(p)求p的微分polyder(a,b) 求多项式a,b乘积的微分p,q=polyder(a,b)求多项式a,b商的微分例2.1-15 : a=1 2 3 4 5; poly2str(a,x) ans = x4 + 2 x3 + 3 x2 + 4 x + 5 b=polyder(a) b = 4 6 6 4 poly2str(b,x) ans =4 x3 + 6 x2 + 6 x + 42.1.5 函数优化寻优函数:例2.1-16:f(x)= x2+3x+2 在-5 5区间的最小值。2.1.6 数据分析max(X) 找X各列的最大元素mean(X) 求X各列的平均值median(X) 找X各列的中位元素min(X) 找X各列的最小元素std(X) 找X各列的标准差prod(X) 找X各列元素之积sum(X) 找X各列元素之和Scumsum(X) 求X各列元素累计和Pcumprod(X) 求X各列元素累计积sort(X) 使X各列元素按递增排序2.1.7 数值分析1.求函数的数值积分 Q=QUAD(F,A,H,TOL,TRACE) 自适应递推辛普生(Simpson)法求数值积分。 QQUAI)8(F,A,B,TOLTRACE) 自适应递报牛顿-柯西(NcwtonCotes)法求数值积分。说明: 1)第一个输入参数F是被积函数表达式字符串或函数文件名。 2)第二、三个输入参数A、B分别是积分的上、下限。 3)输入参数TOL用来控制积分精度,缺省时,默认TOL=0.001。 4)输入参数TRACE,若取l则用图形展现积分过程,取0无图形。缺省时,不画图。 5)QUAD8比QUAD有更高的积分精度。2.微分方程的数值解t,x= ODE23(F,TSPAN,x0)t,x= 0DE45(F,TSPAN,x0)说明: 1)两个指令的调用格式完全相同均采用Runge-Kutta法。2)该指令是对一阶常微分方程组设计的,因此,假如待解的是高阶微分方程,那么它必须先被转化为形如的一阶微分方程组,即状态方程。 3)第一个输入参虹F是定义f(t,x)的函数文件名。该函数文件必须以为 输出,以t,x为输入。 4)TSPAN = T0 TFINAL,T0、TFINAL分别是积分的起始值和终止值。 5)一般说来,ODE45比ODE23的积分分段少,而运算速度更快。2.2 符号计算 所谓符号计算,就是指运算对象过程允许存在非数值的符号变量。 符号计算有两个特点:1.运算对象和过程允许存在非数值的符号变量,2.可以获得任意精度的数值解。2.2.1 字符串 字符串可以通过字符数组或单位数组来表示,并进行比较、查找、替换等操作。1.字符数组 在Matlab中,字符串可以用字符数组来表示,而字符数组则与ASCII相对应。字符数组中的每个字符是由16位的ASCII码组成,可以利用double函数来将字符串转换成它所代表的ASCII码;也可以利用char函数将ASCII码转换成原来的字符。一个字符由两个字节构成。 在创建一个二维字符数组时,先要确定数组的每一行字符个数都必须相等。如果不等,则输入空白字符补充,或用char函数自动创建每行字符都相等的数组。2.单元数组 利用单元数组保存字符串的数据比字符数组方便,无需“数组中每行的字符数都必须相等”。 cellstr将字符数组转化为单元数组 char将单元数组转化为字符数组3.查找与替换 在查找与替换中,常用的函数有: strrep用新的字符代替字符串中的原有字符。 findstr根据所给字符串中的字符来做字符串的查找,当查找成功后会返回第一个相符字符的位置。 strtok将一个字符串中某个特定的字符前面的字符分离出来,其中特定字符省略时的默认值是空白值。例2.2-1: a=sample 1,12/22/99;将12/22替换为12/20 b=streep(a, 22, 20) b= sample 1,12/20/994.字符串的常用函数列表char 创建字符数组(字符串)double 将字符串转换为数值cellstr 从字符数组中创建单元数组blanks 创建空白字符串deblank 删除字符串后面的空白eval 执行字符串所代表的指令ischar 判断是否为字符串数组iscellstr 判断是否为字符单元数组isletter 判断字符是否为字母isspace 判断字符是否为空白字符strcat 连接水平排列的字符串strvcat 连接垂直排列的字符串strcmp 字符串的比较strncmp 字符串前N个字符的比较findstr 查找字符串striust 对齐字符串strmatch 查找相同字符串strrep 字符串的替换strtok 查找字符串的结束字符upper 将字符串转换为大写lower 将字符串转换为小写num2str 将数值转换成字符串int2str 将整数转换成字符串mat2str 将数组转换成字符串str2num 将字符串转换成数值prinstf 将字符串写入特定格式dec2hex 将十进制转换为十六进制bin2dec 将二进制转换为十进制dec2bin 将十进制转换为二进制base2dec 将字符串按照一定的基数转换为十进制dec2base 将十进制按照一定的基数转换为字符串2.2.2 符号运算1.符号矩阵 (1)符号矩阵的创建 命令格式:A=sym( ) 例2.2-2: A = sym(a , 2*b ; 3*a , 0) A = a, 2*b 3*a, 0 (2)符号矩阵的运算symadd(a,d) 符号矩阵的加symsub(a,b) 符号矩阵的减symmul(a,b) 符号矩阵的乘symdiv(a,b) 符号矩阵的除sympow(a,b) 符号矩阵的幂运算symop(a,b) 符号矩阵的综合运算symsize 求符号矩阵维数charploy 特征多项式determ 符号矩阵行列式的值eigensys 特征值和特征向量inverse 逆矩阵transpose 矩阵的转置jordan 约当标准型simple 符号矩阵简化例2.2-3: f= 2*x2+3*x-5; g= x2+x-7; h= symadd(f,g) h= 3*x2+4*x-12例2.2-4: f=cos(x); g= sin(2*x); symop(f,/,g,+,f,*,g) ans = cos(x)/sin(2*x)+cos(x)*sin(2*x)f=fmin(x2+3*x+2,-5,5)例2.2-5:f= 2*x2+3*x-5; g= x2+x-7; syms x f=2*x2+3*x-5; g= x2+x-7; h=f+gh = 3*x2+4*x-12例2.2-6:f=cos(x);g= sin(2*x); syms x f=cos(x);g=sin(2*x); f/g+f*gans =cos(x)/sin(x)+cos(x)*sin(x) 2.符号微积分diff(f) 对缺省变量求微分 diff(f,v) 对指定变量v求微分 diff(f,v,n) 对指定变量v求n阶微分 int(f) 对f表达式的缺省变量求积分 int(f,v) 对f表达式的v变量求积分 int(f,v,a,b) 对f表达式的v变量在(a,b)区间求定积分int(被积表达式,积分变量,积分上限,积分下限) 定积分例2.2-7:计算二重不定积分F=int(int(x*exp(-x*y),x),y) F= 1/y*exp(-x*y)3.符号代数方程求解 matlab符号运算能够解一般的线性方程、非线性方程及一般的代数方程、代数方程组。当方程组不存在符号解时,又无其他自由参数,则给出数值解。 命令格式: solve(f) 求一个方程的解 Solve(f1,f2,fn) 求n个方程的解例2.2-8:g1=x+y+z=1, g2=x-y+z=2, g3=2*x-y-z=1f=solve(g1,g2,g3)f=solve(x+y+z=1,x-y+z=2,2*x-y-z=1)f = z = 5/6, y = -1/2, x = 2/34.符号微分方程求解 用一个函数可以方便地得到微分方程的符号解。 符号微分方程求解指令:dsolve 命令格式:dsolve(f,g) f 微分方程,可多至12个微分方程的求解;g为初始条件,默认自变量为 x,可任意指定自变量t, u等,微分方程的各阶导数项以大写字母D表示 。 或y的一阶导数 Dy或y的二阶导数 D2y或y的 n阶导数 Dny y1,y2=dsolve(x1,x2,xn) 返回微分方程的解。ezplot(y) 方程解y(t)的时间曲线图例2.2-9:一阶微分方程求解dsolve(Dx=y,Dy=x,x(0)=0,y(0)=1)ans = x(t) = sin(t), y(t) = cos(t)二阶微分方程求解dsolve(D2y=-a2*y,y(0)=1,Dy(pi/a)=0)ans = cos(a*x)例2.2-10:求该方程的解。y=dsolve(D2y+2*Dy+2*y=0,y(0)=1,Dy(0)=0)ans = exp(-x)*cos(x)+exp(-x)*sin(x)ezplot(y)2.3 图像处理Matlab拥有强大的图像处理功能,能够给数据以二维、三维乃至四维的图形表现。通过对图形的线型、立面、色彩、渲染、光线、视角等处理,可以把计算数据的特征表现的淋漓尽致。2.3.1 二维绘图1.Plot Plot是最基本的二维绘图命令,其调用格式有如下3种: (1)plot(x) 若x为向量, 则以x元素值为纵坐标,以相应元素下标为横坐标值,绘制连线图;若x为实数阵,则按列绘制每列元素值相对其下标的连线图,图中曲线等于x阵的列数;若x为复数阵,则分别以x实部阵和虚部阵的对应列元素为横纵坐标绘制多条连线图。 (2)plot(x,y) 若x、y是向维向量,则绘制以x、y元素为横纵坐标的连线图;若x是向量,y是一个与x等维的矩阵,则绘制出多根不同色彩的连线图,连线根数等于y阵的另一个维数;若x、y是等维矩阵,则以x、y对应列元素为横纵坐标分别绘制曲线,曲线的根数矩阵的行数。 (3)plot(x1,y1,x2,y2,) 每个二元对x-y的作用与plot(x,y)相同,不同二元对之间没有约束。例2.3-1:t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y,t,y1,t,y2)2.figure选择图像命令例2.3-2:输入右边的程序后,出现下图所示的两个窗口,可以用figure(1)和figure(2)来切换显示这两个窗口。图2-1 figure(1)图2-2 figure(2)3.Subplot在同一个窗口中显示多个图形,其调用格式为Subplot(m,n,p),将图形窗分割为mn个子图,并选择第p个子图为当前图形。例2.3-3:输入如下程序,其结果如下图所示。使用Subplot命令,在同一窗口显示多个图形如图2-2所示。图2-2 多个图形显示 4.绘图指令开关控制 plot(x,y,s) 或plot(x1,y1,s1,x2,y2,s2,)字符串s设定曲线颜色和绘图方式等,其标准设定值,如下: 5.标题与坐标轴的操作 将标题、坐标轴标记、网格线及文字注释加注到图形上,这些函数为: title 给图形加标题 xlable 给x轴加标注 ylable 给y轴加标注 text 在图形指定位置加标注 gtext 将标注加到图形任意位置 grid on(off) 打开、关闭坐标网格线 legend 添加图例 axis 控制坐标轴的刻度例2.3-4:t=0:0.1:10y1=sin(t);y2=cos(t);plot(t,y1,r,t,y2,b-);x=1.7*pi;1.6*pi;y=-0.3;0.8;s=sin(t);cos(t);text(x,y,s);title(正弦和余弦曲线);legend(正弦,余弦)xlabel(时间t),ylabel(正弦、余弦)gridaxis square图2-3 图形窗口中显示的正弦曲线和余弦曲线2.3.2 三维绘图1.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, ) 例2.3-5:绘制三维线图 t=0:pi/50:10*pi; plot3(t,sin(t),cos(t),r:)图2-4 绘制三维线图2.mesh三维网线绘图函数mesh一般有两种基本的调用格式: 1)mesh(z) 以z矩阵元素值及其下标为数据点,绘制网线图。 2)mesh(x,y,z) 若 ,则要求 ,网格数据点三维坐 标为x,y,z。3.meshgrid 网线坐标值计算函数 z=f(x,y) 根据x,y坐标找出z的高度例2.3-6: 绘制z=x2+y2的三维网线图形 x=-5:5; y=x; X,Y=meshgrid(x,y) Z=X.2+Y.2 mesh(X,Y,Z)图2-5三维网线图形2.3.3 符号函数绘图 MATIAB的符号工具箱也为用户对符号函数进行画图提供了方便。符号函数画图可以通过函数ezplot或fplot来实现。 其调用格式分别为: 1)ezplot(f,a,b) 表示在区间axb和axb绘制f(a,b)0的函数图当区间缺省时,表示在默认区间一2*pia2*pi和一2*pia2pi绘制f(a,b)0的函数图。 2)ezplot(x,y,rmin,tmax) 表示在区间tminttmax绘制x(t)0,y(t)O的函数图;当区间缺省时,表示在默认区间一2*pit2*pi ,绘制x(t)0,y(t)0的函数图。 3)fplot(fun,lims) 表示绘制的字符串fun指定的函数在区间1imsxmin,xmax的图形。2.3.4 图形句柄 Matlab提供了一系列用于创建和操作线、面、文字、图像等基本图形对象的底层图形指令。这组指令可以对图形的各个基本对象进行更为细致的修饰和控制,不仅可以产生更为复杂的图形,并且为动态图形的制作奠定了基础。MATLAB的这个系统就是句柄图形。1.图形对象图形对象是图形系统中最基本、最底层的单元,其基本要素以根屏幕为先导。图形对象之间的关系为父代与子代的关系。说明: 根:图形对象的根,对应于计算机屏幕,根只有一个,其它所有图形对象都是根的后代。 图形窗口: 根的子代,窗口的数目不限,所有图形窗口都是根屏幕的子代,除根之外,其它对象则是窗的后代。 界面控制:图形窗口的子代,创建用户界面控制对象,使得用户可采用鼠标在图形上作功能选择,并返回句柄。 界面菜单: 图形窗口的子代,创建用户界面菜单对象。 轴:图形窗口的子代,创建轴对象,并返回句柄,是线面字块像的父辈。 线:轴的子代,创建线对象。 面:轴的子代,创建块对象。 字:轴的子代,创建字对象。 块:轴的子代,创建块对象。 像:轴的子代,创建图像对象。2.句柄 句柄是图形对象的标识代码,标识代码含有图形对象的各种必要的属性信息。 各图形对象的句柄数据格式: 根屏幕 0 图形窗口 整数,表示图形窗口数 其它对象 对应的符点数 Matlab提供了3个专门用于获取对象句柄的函数: gcf返回当前图形窗口的句柄 gca返回当前轴的句柄 gco返回当前对象的句柄3.对象创建函数figure?创建图形窗口 调用格式: h=figure(n),其中n为窗口序号。 uicontrol?图形界面控制 调用格式: h=uicontrol(property,value),其中 property/value确定控制类型。uimenu?创建用户界面菜单调用格式: h=uimenu(property,value) property/value 确定菜单形式。axes ? 创建轴对象调用格式: line ? 创建线对象调用格式: h=line(x,y,z)patch ? 创建块对象调用格式: h=patch(x,y,z,c) x,y,z定义多边形,c确定填充颜色。surface ? 创建面对象调用格式: h=surface(x,y,z,c) x,y,z三维曲面坐标,c颜色矩阵。image ? 显示图象 调用格式: h=image(x); x为图像矩阵text ? 标注文字调用格式: h=text(x,y,string) 每个底层函数只能创建一个图形对象,并将它们置于适当的父辈对象中。例2.3-9: 在轴对象上(父代对象)设置线的颜色省缺值为红色。 x=0:2*pi/180:2*pi; y=sin(2*x); set(gca,DefaultLineColor,1 0 0); h=line(x,y) h = 68.0001 set(h,color,default)4.对象品性及其设置和查询 所有对象都具有控制其如何表现的品性。对象的品性分为两类:一类是“共性”,包括类型、是否可视、中断允许等;另一类是“特性”,如“轴”的刻度、定义“面”的数据等。 (1)品性设置命令: set(h)显示h对象所有可设置的品性及取值 set(h, PropertyName)显示h对象(由Property Name)指定品性的可取值 set(h, PropertyName,PropertyValue,)设置h对象指定品性的值 (2)品性查询命令 get(h)查询h对象所有品性的当前值 get(h,PropertyName)查询h对象所指定品性的当前值查阅线对象的属性名称和属性值get(h1)Color = 1 1 0EraseMode = normalLineStyle = -LineWidth = 0.5MarkerSize = 6Xdata = (1 by 11) Ydata = (1 by 11) Zdata = ButtonDownFcn = Children = Cl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年数字艺术市场开发可行性研究报告及总结分析
- 2025年互动娱乐内容开发项目可行性研究报告及总结分析
- 2025年循环经济模式构建可行性研究报告及总结分析
- 征兵知识竞赛题库及答案详解
- 仓储管理的论文
- 2025年智能手环健康监测产品开发可行性研究报告及总结分析
- 2025年低碳绿色供应链管理项目可行性研究报告及总结分析
- 全国计算机等级考试二级MSoffice选择题试题库
- 15机械本科毕业论文、课程设计要求
- 评语大全之论文批阅评语
- 北师大版四年级上册《商不变的规律》
- ISO31000风险管理标准(中文版)
- LY/T 2242-2014自然保护区建设项目生物多样性影响评价技术规范
- 创业管理张秀娥chp5第五章 商业模式开发
- AOI缺陷示意图照片辨认课件
- 科幻小说《三体》内容简介读书分享会ppt图文课件
- 考研真题普通物理
- 烟花爆竹零售店注销申请书
- 总裁执行风暴XXXX姜岚昕课件笔记
- 环卫工作和交通安全
- 乳腺癌诊疗指南(2022年版)
评论
0/150
提交评论