《matlab软件的使用方法.pdf》由会员分享,可在线阅读,更多相关《matlab软件的使用方法.pdf(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MATLAB 软件使用简介 默认分类 2007-03-15 21:26:49 阅读 4106 评论 8 字号:大中小 订阅 MATLAB 软件使用简介 MATLAB 是一个功能强大的常用数学软件,它不但可以解决数学中的数值计算问题,还可以解决符号演算问题,并且能够方便地绘出各种函数图形。MATLAB 自 1984 年由美国的MathWorks 公司推向市场以来,历经十几年的发展和竞争,现已成为国际最优秀的科技应用软件之一。这里主要以适用于 Windows 操作系统的 MATLAB5.3 版本向读者介绍 MATLAB的使用命令和内容。一、MATLAB 的进入/退出 MATLAB 的安装成功后,系
2、统会在 Windows【开始】菜单的【程序】子菜单中加入启动MATLAB 命令的图标,用鼠标单击它就可以启动 MATLAB 系统,见图 2.1。图 2.1 启动 MATLAB 启动 MATLAB 后,屏幕上出现 MATLAB 命令窗口:图 2.2 MATLAB 命令窗口 图 2.2 的空白区域是 MATLAB 的工作区(命令输入区),在此可输入和执行命令。退出 MATLAB 系统像关闭 Word 文件一样,只要用鼠标点击 MATLAB 系统集成界面右上角的关闭按钮即可。二、MATLAB 操作的注意事项 l 在 MATLAB 工作区输入 MATLAB 命令后,还须按下 Enter 键,MATLA
3、B 才能执行你输入的 MATLAB 命令,否则 MATLAB 不执行你的命令。l MATLAB 是区分字母大小写的。l 一般,每输入一个命令并按下 Enter 键,计算机就会显示此次输入的执行结果。(以下用表示回车)。如果用户不想计算机显示此次输入的结果,只要在所输入命令的后面再加上一个分号“;”即可以达到目的。如:x=2+3 x=5 x=2+3;不显示结果 5 l 在 MATLAB 工作区如果一个表达式一行写不下,可以用在此行结尾处键入三个英文句号的方法达到换行的目的。如:q=56+sin(pi)+exp(3)+(1+2+3+4+5)/sin(x)-5x+1/2-567/(x+y)l MAT
4、LAB 可以输入字母、汉字,但是标点符号必须在英文状态下书写。l MATLAB 中不需要专门定义变量的类型,系统可以自动根据表达式的值或输入的值来确定变量的数据类型。l 命令行与 M 文件中的百分号“%”标明注释。在语句行中百分号后面的语句被忽略而不被执行,在 M 文件中百分号后面的语句可以用 Help 命令打印出来。三、MATLAB 的变量与表达式 l MATLAB 的变量名 MATLAB 的变量名是用一个字母打头,后面最多跟 19 个字母或数字来定义的。如x,y,ae3,d3er45 都是合法的变量名。应该注意不要用 MATLAB 中的内部函数或命令名作为变量名。MATLAB 中的变量名是
5、区分大小写字母的。如在 MATLAB 中,ab 与 Ab 表示两个不同的变量。列出当前工作空间中的变量命令为 Who 将内存中的当前变量以简单形式列出;Whos 列出当前内存变量的名称、大小、类型等信息;Clear 清除内存中的所有变量与函数。l MATLAB 的运算符 数学运算符:+(加号),-(减号),*(乘号),(左除),/(右除),(乘幂)关系运算符:(大于),=(大于等于),=(等于),=(不等于)逻辑运算符:&(逻辑与运算),|(逻辑或运算),(逻辑非运算)l MATLAB 的表达式及语句 表达式由运算符、函数、变量名和数字组成的式子。MATLAB语句由变量、表达式及MATLAB命
6、令组成,用户输入的语句由 MATLAB 系统解释运行。MATLAB 语句的 2 种最常见的形式为:形式 1:表达式 形式 2:变量=表达式 在第一种形式中,表达式运算后产生的结果如果为数值类型,系统自动赋值给变量 ans,并显示在屏幕上。例 1:用两种形式计算 算术运算结果。解:Matlab 命令为 形式 1:56+sin(pi)+exp(3)ans=1.5645e+004 形式 2:a=56+sin(pi)+exp(3)a=1.5645e+004 如果在表达式的后面加“;”,有 a=56+sin(pi)+exp(3);执行后不显示运算结果。例 2:已知矩阵,对它们做简单的关系与逻辑运算 解:
7、Matlab 命令为 A=1,2;1,2;B=1,1;2,2;C=(AB)&(A=B)C=0 0 0 0 四、MATLAB 的数据显示格式 虽然在 MATLAB 系统中数据的存储和计算都是双精度进行的,但 MATLAB 可以利用菜单或 format 命令来调整数据的显示格式。Format 命令的格式和作用如下:l Format|format short 5 位定点表示 l Format long 15 位定点表示 l format short e 5 位浮点表示 l Format long e 15 位浮点表示 l Format short g 系统选择 5 位定点和 5 位浮点中更好的表示
8、l Format long g 系统选择 15 位定点和 15 位浮点中更好的表示 l Format rat 近似的有理数的表示 l Format hex 十六进制的表示 l Format bank 用元 角分(美制)定点表示 l Format compact 变量之间没有空行 l Format loose 变量之间有空行 例 3:对数 用五位定点、十五位定点以及有理数形式表示出来。解:Matlab 命令为 a=5+sin(7)format short,a a=5.6570 format rat,a a=3117/551 format long,a a=5.65698659871879 五、M
9、ATLAB 中的常用函数 MATLAB 的常用内部函数有:表 2.1 常用的三角函数 函数名称 函数功能 sinx 函数名称 函数功能 sin(x)正弦函数 cosx asin(x)反正弦函数 asinx cos(x)余弦函数 tanx acos(x)反余弦函数 acosx tan(x)正切函数 cotx atan(x)反正切函数 atanx cot(x)余切函数 cotx acot(x)反余切函数 acotx sec(x)正割函数 secx asec(x)反正割函数 asecx sinh(x)双曲函数 sinhx asinh(x)反双曲函数 asinhx 表 2.2 常用的计算函数 函数名称
10、 函数功能 abs(x)求变量 x 绝对值|x|angle(x)复数 x 的相角 sqrt(x)求变量 x 的算术平方根 real(x)求复数 x 的实部 image(x)求复数 x 的虚部 conj(x)求复数 x 的共轭复数 round(x)四舍五入至最近整数 fix(x)无论正负,舍去小数至最近整数 ceil(x)加入正小数至最近整数 floor(x)舍去正小数至最近整数 rat(x)将实数化为分数表示 rats(x)将实数化为多项分数表示 sign(x)符号函数 rem(x,y)求 x 除以 y 的余数 gcd(x,y)整数 x 和 y 的最大公因数 lcm(x,y)整数 x 和 y
11、的最小公倍数 exp(x)自然指数 pow2(x)2 的指数 log(x)自然对数 lnx log2(x)以 2 为底的对数 log10(x)以 10 为底的对数 六、矩阵的操作 MATLAB 的基本单位是矩阵,它是的 MATLAB 精髓,掌握矩阵的输入、各种数值运算以及矩阵函数的使用是以后能否学好 MATLAB 的关键。l 矩阵的输入 I.直接输入创建矩阵 输入方法是先键入左方括弧“”,然后按行直接键入矩阵的所有元素,最后键入右方括弧“”。注意:整个矩阵以“”和“”作为首尾,同行的元素用“,”或空格隔开,不同行的元素用“;”或按 Enter 键来分隔;矩阵的元素可以为数字也可以为表达式,如果
12、进行的是数值计算,表达式中不可包含未知的变量。例 4:直接输入创建矩阵 解:Matlab 命令为 A=1,2,3;4,15,60;7,8,9 A=1 2 3 4 15 60 7 8 9 或用 Matlab 命令 A=1,2,3 4,15,66 7,8,9 A=1 2 3 4 15 60 7 8 9 II.用矩阵函数来生成矩阵 MATLAB 提供了大量的函数来创建一些特殊的矩阵,表2.3给出MATLAB常用的矩阵函数。表 2.3 常用的矩阵函数 函数名称 函数功能 函数名称 函数功能 zero(m,n)m 行 n 列的零矩阵 eig(A)求矩阵 A 的特征值 eye(n)n 阶方矩阵 poly(
13、A)求矩阵 A 的特征多项式 ones(m,n)m 行 n 列的元素为 1 的矩阵 trace(A)求矩阵 A 的迹 rand(m,n)m 行 n 列的随机矩阵 cond(A)求矩阵 A 的条件数 randn(m,n)m 行 n 列的正态随机矩阵 rref(A)求矩阵 A 的行最简形 magic(n)n 阶魔方矩阵 inv(A)求矩阵 A 的逆矩阵 hess(A)hess 矩阵 det(A)求矩阵 A 的行列式 sqrtm(A)求矩阵 A 的平方根 expm(A)求矩阵 A 的指数值 funm(A)按矩阵计算的函数值 logm(A)求矩阵 A 的对数值 rank(A)求矩阵 A 的秩 morm
14、(A,1)求矩阵 A 的范数 例 5:输入矩阵。解:Matlab 命令为 ones(3)%生成元素都为 1 的 3 阶方阵 ans=1 1 1 1 1 1 1 1 1 例 6:输入矩阵 解:Matlab 命令为 zeros(2,5)%生成元素都为 0 的 2 行 5 列零矩阵 ans=0 0 0 0 0 0 0 0 0 0 例 7:生成 3 阶魔方矩阵。解:Matlab 命令为 magic(3)ans=8 1 6 3 5 7 4 9 2 l 操作符“:”的说明 j:k 表示步长为 1 的等差数列构成的数组:j,j+1,j+2,k j:i:k 表示步长为 i 的等差数列构成的数组:j,j+i,j
15、+2*i,k A(i:j)表示 A(i),A(i+1),A(j)例 8:操作符冒号”:”的应用 解:Matlab 命令为 1:5%步长为 1 的等差数列。Ans=1 2 3 4 5 1:2:7%步长为 2 的等差数列。Ans=1 3 5 7 8:-2:0%步长为-2 的等差、递减数列。Ans=8 6 4 2 0 l 对矩阵元素的操作 设 A 是一个矩阵,则在 MATLAB 中有如下符号表示它的元素:A(i,j)表示矩阵 A 的第 i 行第 j 列元素。A(:,j)表示矩阵 A 的第 j 列。A(i,:)表示矩阵 A 的第 i 行。A(:,:)表示 A 的所有元素构造 2 维矩阵 A(:)表示以
16、矩阵 A 的所有元素按列做成的一个列矩阵。A(i)表示矩阵 A(:)的第 i 个元素。表示空矩阵 I.元素的抽取与赋值 例 9:已知矩阵,抽取与修改矩阵 A 的一些元素.解:Matlab 命令为 A=1 23 56;sin(3)7 9;log(2)6 1%输入矩阵 A。A=1.0000 23.0000 56.0000 0.1411 7.0000 9.0000 0.6931 6.0000 1.0000 A(2,3)%求矩阵 A 的第二行第三列元素。ans=9 A(4)%求矩阵 A 的第四个元素。ans=23 A(2:4)%取矩阵 A 的 A(2),A(3),A(4)。ans=0.1411 0.6
17、931 23.0000 A(1,:)%取矩阵 A 的第一行。ans=1 23 56 A(:,3)%取矩阵 A 的第三列 ans=56 9 1 a=A(1,3)%把矩阵 A 的第一行第三列元素赋值给变量 a。a=56 A(2,1)=100%把矩阵 A 的第二行第一列元素修改为 100。A=1.0000 23.0000 56.0000 100.0000 7.0000 9.0000 0.6931 6.0000 1.0000 II.矩阵的扩充 例 10:已知矩阵,利用 A 与 B 生成矩阵,。解:Matlab 命令为 A=1,3;6,9;%输入矩阵 A C=A C(1,3)=100;%把矩阵 A 扩充
18、为 1 行 3 列矩阵 C C=1 3 100 6 9 0 B=1,5;0,8;%输入矩阵 B D=A,B%由矩阵 A 与 B 合成矩阵 D D=1 3 1 5 6 9 0 8 AA=A,zeros(2);zeros(2),B%由矩阵 A 与 B 合成分块矩阵 AA AA=1 3 0 0 6 9 0 0 0 0 1 5 0 0 0 8 III.矩阵的部分删除 例 11:已知矩阵,删除矩阵 A 的第一行。解:Matlab 命令为 A=1 23 56;sin(3)7 9;log(2)6 1;A(1,:)=%删除矩阵 A 的第一行 A=0.1411 7.0000 9.0000 0.6931 6.00
19、00 1.0000 l 矩阵的运算 A+B:矩阵加法 A-B:矩阵减法 A*B:矩阵乘法 AB:矩阵的左除 A/B:矩阵的右除 transpose(A)或 A:A 的转置:数 k 乘以 A det(A):A 的行列式:rank(A):A 的秩 七、数组 在 MATLAB 中数组就是一行或者一列的矩阵,前边介绍的对矩阵输入、修改、保存都适用于数组,同时 MATLAB 还提供了一些创建数组的特殊指令。l 特殊数组的创建 linspace(a,b,n)给出区间a,b的 n 个等分点数据 logspace(a,b,n)给出区间 的 n 个等比点数据,公比为。例 12:linspace(0,1,6)%给
20、出区间0,1 的 6 个等分点数据 ans=0 0.2000 0.4000 0.6000 0.8000 1.0000 logspace(0,1,6)%给出区间 的 6 个等比点数据,公比为 ans=1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 l 数组运算 数组的运算除了作为 1n 的矩阵应遵循矩阵的运算规则外,MATLAB 中还为数组提供了一些特殊的运算:乘法为:.*,左除为:.,右除为:./,乘幂为:.。设数组,,则对应的运算具体为:例 13:数组运算例题 a=1:5%定义数组 a a=1 2 3 4 5 b=3:2:11%定义数组 b b=3 5
21、7 9 11 a.2%数组 a 的每一个元素求平方 ans=1 4 9 16 25 a.*b%数组 a 的每一个元素乘以对应的数组 b 的元素 ans=3 10 21 36 55 例 14:计算 的值。解:Matlab 命令为 x=-pi:pi/2:pi;%定义自变量 x y=sin(x)%求自变量 x 的每一个元素对应的正弦值 y=-0.0000 -1.0000 0 1.0000 0.0000 八、M 文件 M 文件有两种形式:命令文件和 M 函数文件。它们都是由若干 MATLAB 语句或命令组成的文件。两种文件的扩展名都是.m。要注意的是 M 文件名一定以字母开头,而且最好不要与内置函数重
22、名。在 M 文件中,当表达式后面接分号时,表达式的计算结果虽不显示但中间结果仍保存在内存中。若程序为命令文件,则程序执行完以后,中间变量仍予以保留;若程序为函数文件,则程序执行完以后,中间变量被全部删除。l 文件的操作 为叙述方便,用记号“主菜单名|子菜单名|.”来指示子菜单。例如 File|set path 表示单击file 主菜单后再选择其中的子菜单 set path。MATLAB 对文件的打开、关闭和保存等操作与 Word 完全类似,在此不再说明。在MATLAB 中新建 M 文件的操作是在命令窗口中选择 File|New|M-File(见图 2.3),然后用鼠标单击 M-File,可以打
23、开 MATLAB 自带的“M 函数与 M 文件编辑器”(见图 2.4),用户就可以在此编辑窗口来编辑一个新的 M 文件了。MATLAB 自带的 M 函数与 M 文件编辑器还可以用来对已经存在的 M 文件进行编辑、存储、修改和读取。图 2.3 新建 M 文件 图 2.M 函数与 M 文件编辑器(编辑窗口)l 命令文件 命令文件的一般形式为:.m 如 a1.m,pp.m 等都是合法的 M 文件名。M 文件有两种运行方式:一是在命令窗口直接写文件名,按 Enter 键;二是在编辑窗口打开菜单 Tools,再单击 Run。M 文件保存的路径一定要在搜索路径上,否则 M 文件不能运行。以下例题中如果不做
24、特别说明,都是以第一种方式运行的。例 15:用 M 命令文件画出衰减振荡曲线 及其它的包络线。的取值范围是。解:步骤:1.打开 MATLAB 命令窗口,单击 File|New|Mfile(见图 2-3)打开编辑窗口;2.在编辑窗口逐行写下列语句;t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,-r,t,y0,:b,t,-y0,:b)3.保存 M 文件,并且保存在搜索路径上,文件名为 a1.m;4.运行 M 文件。在命令窗口写 a1,并按 Enter 键,或者在编辑窗口打开菜单 Tools,在选择Run。图 2.5 衰减振荡曲
25、线与包络 l M 函数文件 M 函数文件的一般形式为:function=()M 函数文件可以有多个因变量和多个自变量,当有多个因变量时用括起来。为了更好的理解函数文件,请看下例:例 16:设可逆方阵为 A,编写同时求 的 M 函数文件。解:步骤:1.打开 MATLAB 命令窗口,单击 File|New|Mfile(见图 2-3)打开编辑窗口;2.在编辑窗口逐行写下列语句;function da,a2,inva,traa=comp4(x)%M 函数文件 comp4.m 同时求矩阵 x 的四个值%da 为矩阵 x 的行列式%a2 为矩阵 x 的平方%inva 为矩阵 x 的逆矩阵%traa 为矩阵
26、 x 的转置 da=det(x)a2=x2 inva=inv(x)traa=x 3.保存 M 函数文件,并且保存在搜索路径上,文件名为 comp4.m;4 命令窗口执行下列语句:A=1,2;5,8;%输入矩阵 A。comp4(A)%调用 comp4.m 函数计算矩阵 A 的。da=-2 a2=11 18 45 74 inva=-4.0000 1.0000 2.5000 -0.5000 traa=1 5 2 8 九、程序设计语句 l for 循环 for 循环的语句为:for i=表达式 可执行语句 1.可执行语句 n end 说明:(1)表达式是一个向量,可以是 m:n,m:s:n,也可以是字
27、符串、字符串矩阵等。(2)for 循环的循环体中,可以多次嵌套 for 和其它的结构体。例 17:利用 for 循环求 1100 的整数之和。解:(1).建立命令文件 exam1.m。%利用 for 循环求 1100 的整数之和 sum=0;for i=1:100 sum=sum+i;end sum(2)执行命令文件 exam1.m。exam1 sum=5050 例 18:利用 for 循环找出 100200 之间的所有素数。解:(1).建立命令文件 exam2.m。%利用 for 循环找出 100200 之间的所有素数 disp(100200 之间的所有素数为:)for m=100:200
28、k=fix(sqrt(m);%求 m 的算术平方根然后取整.for i=2:k+1 if rem(m,i)=0%求整数 m 与 i 的余数 break;end end if i=k+1 disp(int2str(m)%以字符串的形式显示素数.end end(2)执行命令文件 exam2.m。exam2 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 说明:break 语句能在 for 循环和 while 循环中退出循环,继续执行循环后面的命令。l while 循环 while
29、 循环的语句为:while 表达式 循环体语句 end 说明:表达式一般是由逻辑运算和关系运算以及一般的运算组成的表达式,以判断循环要继续进行还是要停止循环。只要表达式的值非零,即为逻辑为“真“,程序就继续循环,只要表达式的值为零就停止循环。例 19:利用 while 循环来计算 1!+2!+50!的值。解:(1).建立命令文件 exam3.m%利用 while 循环来计算 1!+2!+.+50!的值 sum=0;i=1;while i51 prd=1;j=1;while j=i prd=prd*j;j=j+1;end sum=sum+prd;i=i+1;end disp(1!+2!+.+50
30、!的和为:)sum(2)执行命令文件 exam3.m。exam3 1!+2!+.+50!的和为:sum=2.5613e+018 l if-else-end 分支 此分支结构有 3 种形式:(1)if 表达式 执行语句 end 功能:如果表达式的值为真,就执行语句,否则执行 end 后面的语句.(2)if 表达式 执行语句 1 else 执行语句 2 end 功能:如果表达式的值为真,就执行语句 1,否则执行语句 2.(3)if 表达式 1 执行语句 1 elseif 表达式 2 执行语句 2 else 语句 n end 功能:如果表达式 1 的值为真,就执行语句 1,然后跳出 if 执行语句;
31、否则判断表达式 2,如果表达式 2 的值为真,就执行语句 2,然后跳出 if 执行语句.否则依此类推,一直进行下去.如果所有的表达式的值都为假,就执行 end 后面的语句.例 19:编一函数计算函数值:解:(1).建立 M 函数文件 yx.m。function y=yx(x)if x=1&x10&x=30 y=3*x-11 else y=sin(x)+log(x)end(2).调用 M 函数文件计算。result=yx(0.2),yx(2),yx(30),yx(10*pi)result=0.2000 3.0000 79.0000 3.4473 l switch-case-end 分支 Swit
32、ch 语句的形式为:switch 表达式 case 常量表达式 1 语句块 1 case 常量表达式 2 语句块 2 case 常量表达式 n,常量表达式 n+1,语句块 n otherwise 语句块 n+1 end 功能:switch 语句后面的表达式可以为任何类型;每个 case 后面的常量表达式可以是多个,也可以是不同类型;与 if 语句不同的是,各个 case 和 otherwise 语句出现的先后顺序不会影响程序运行的结果。例 20:编一个转换成绩等级的函数文件,其中成绩等级转换标准为考试成绩分数在90,100分显示优秀;在80,90)分显示良好;在60,80)分显示及格;在0,6
33、0)分显示不及格。解:(1).建立 M 函数文件 ff.m function result=ff(x)n=fix(x/10);switch n case 9,10 disp(优秀)case 8 disp(良好)case 6,7 disp(及格)otherwise disp(不及格)end (2).调用 M 函数文件判断 99 分,56 分,72 分各属于哪个范围.。ff(99)优秀 ff(56)不及格 ff(72)及格 十、Matlab 绘图 1plot(y)功能:画一条或多条折线图。其中 y 是数值向量或数值矩阵。说明:当 y 是数值向量时,plot(y)在坐标系中顺序的用直线段连接顶点(i
34、,y(i))画出一条折线图;当 y 是数值矩阵时,Matlab 为矩阵的每一列画出一条折线,绘图时,以矩阵 y 每列元素的相应行下标值为横坐标,以 y 的元素为纵坐标绘制的连线图。例 21:画出向量1,3,2,9,0.5折线图。解:MATLAB 命令为 y=1,3,2,9,0.5;plot(y)图 2.6 向量式图形 2.plot(x,y)功能:画一条或多条折线图。其中 x 可以是长度为 n 的数值向量或是 nm 的数值矩阵,y 也可以是长度为 n 的数值向量或是 nm 的数值矩阵。说明:当x,y 都是长度为n的数值向量时,plot(x,y)在坐标系中顺序的用直线段连接顶点(x(i),y(i)
35、)画出一条折线图;当 x 是长度为 n 的数值向量且 y 是 nm 的数值矩阵时,plot(x,y)用向量 x 分别与矩阵 y 的每一列匹配,在同一坐标系中绘出 m 条不同颜色的折线图;当 x 和 y 都是 nm 的数值矩阵时,plot(x,y)分别用矩阵 x 的第 i 列与矩阵 y 的第 i 列匹配,在同一坐标系中绘出 m 条不同颜色的折线图。注:plot(x,y)命令可以用来画通常的函数 f(x)图形,此时向量 x 常用命令 x=a:h:b 的形式获得f(x)函数在绘图区间a,b上的自变量点向量数据,对应的函数向量值取为 y=f(x)。步长 h 可以任意选取,一般,步长越小,曲线越光滑,但
36、是步长太小,会增加计算量,运算速度要降低。通常步长 h 取为 0.1 可以达到较好的绘图效果。如果想在图形中标出网格线,用命令:plot(x,y),grid on 即可。例 22:画出函数 y=sin x2 在-5 x 5 的图形。解:Matlab 命令:x=-5:.1:5;%取绘图横坐标向量点 x y=sin(x.2);plot(x,y),grid on 图 2.7 曲线 y=sinx2 例 23:画出椭圆 的曲线图。解:对于这种情形,首先把它写成参数方程。Matlab 命令:t=0:pi/50:2*pi;x=5*cos(t);y=2*sin(t);plot(x,y),grid on 图 2
37、.8 椭圆 3.plot(x1,y1,x2,y2,x3,y3)功能:在同一图形窗口画出多条不同颜色曲线,曲线关系为 。例 24:在同一图形窗口画出三个函数 y=cos 2x,y=x 2,y=x 的图形,-2 x 2。解:Matlab 命令:x=-2:.1:2;plot(x,cos(2*x),x,x.2,x,x)legend(cos(2x),x2,x)图 2.9 例 5 的绘图结果 4ezplot(F,xmin,xmax)功能:画出符号函数 F 在区间xmin,xmax内的图像 说明:F 是只含有一个变量的函数。如果区间xmin,xmax缺省,默认区间为-2pi,2pi 例 25:绘制 在 间的
38、图形。Matlab 命令:syms t ezplot(2/3*exp(-t/2)*cos(3/2*t),0,4*pi)图 2.10 符号函数的图形 5二维特殊图形 除了 plot 指令外,Matlab 还提供了许多其它的二维绘图指令,这些指令大大扩充了 Matlab的曲线作图指令,可以满足用户的不同需要。表 2.4 绘制二维图形的指令 函数名称 功能 函数名称 功能 bar 直方图 loglog 双对数曲线 barh 垂直的直方图 semilogx x 轴对数坐标曲线 bar3 三维直方图 semilogy y 轴对数坐标曲线 bar3h 垂直的三维直方图 polar 极坐标曲线 hist 统
39、计直方图 stairs 阶梯图 pie 饼图 stem 火柴棍图 pie3 三维饼图 pcolor 伪彩图 fplot 数值函数二维曲线 area 面积图 ezplot 符号函数二维曲线 errorbar 误差棒棒图 gplot 绘拓扑图 quiver 矢量场图 fill 平面多边形填色 ribbon 代状图 例 26:练习指令 bar,stairs,pie,pie3,stem,area.解:Matlab 命令:x=1:5;subplot(2,3,1),bar(x),title(直方图)subplot(2,3,2),stairs(x),title(阶梯图)subplot(2,3,3),stem
40、(x,rp),title(火柴棍图)subplot(2,3,4),pie(x),title(饼图)subplot(2,3,5),pie3(x),title(三维饼图)subplot(2,3,6),area(x),title(面积图)图 2.11 一些二维特殊图形 6.三维网格命令 mesh 由函数 meshgrid 生成格点矩阵后,就可以求出各格点对应的函数值,然后利用三维网格命令 mesh 与三维表面命令 surf 画出空间曲面。函数 mesh 用来生成函数的网格曲面。函数 mesh 有如下三种形式:mesh(X,Y,Z)X,Y,Z 是同维数的矩阵 mesh(x,y,Z)x,y 是向量,而
41、Z 是矩阵。等价于 mesh(Z)若提供参数 x,y,等价于 mesh(x,y,Z),否则默认 x=1:n,y=1:m,其中 例 27:画出函数 在-3 x,y 3 及 在-10 x,y 10 上的图形。解:(1)建立命令文件 me.m%函数 z=sin(x+siny)t1=-3:.1:3;x1,y1=meshgrid(t1);%生成格点矩阵 z1=sin(x1+sin(y1);%计算格点处的函数值 subplot(1,2,1),mesh(x1,y1,z1),title(sin(x+siny)%马鞍面 z=x2-2y2 t2=-10:.3:10;x2,y2=meshgrid(t2);z2=x2.2-2*y2.2;subplot(1,2,2),mesh(x2,y2,z2),title(马鞍面)(2)执行命令文件 me.m me 图 2.12 函数 z=sin(x+sin y)与马鞍面的网格图