课件第二章m应用基础_第1页
课件第二章m应用基础_第2页
课件第二章m应用基础_第3页
课件第二章m应用基础_第4页
课件第二章m应用基础_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章第二章 Matlab Matlab 应用基础应用基础v本章内容本章内容v2.1 2.1 变量及其操作变量及其操作v2.2 Matlab 2.2 Matlab 数组和矩阵的运算数组和矩阵的运算v2.3 Matlab 2.3 Matlab 函数函数v学习目标学习目标v掌握变量及其操作。掌握变量及其操作。v了解函数相关知识,熟练掌握常用数学函数。了解函数相关知识,熟练掌握常用数学函数。v熟练掌握熟练掌握MatlabMatlab的矩阵的生成和运算。的矩阵的生成和运算。本章知识地图本章知识地图matlabmatlab应用基础应用基础变量及其操作变量及其操作数值和矩阵的运算数值和矩阵的运算matla

2、b函数函数程序设计程序设计函数类型函数类型其它函数其它函数常用数学函数常用数学函数matlab工作方式工作方式M文件的创建与打开文件的创建与打开程序的控制结构程序的控制结构数据输入输出数据输入输出交互式指令行操作交互式指令行操作M文件编程工作方式文件编程工作方式命令文件命令文件函数文件函数文件2.1.1 Matlab 语言的变量命名规则语言的变量命名规则1.变量变量程序执行过程中可以变化的量。程序执行过程中可以变化的量。Matlab中的变量可以由用户指定变量名。中的变量可以由用户指定变量名。通过变量名随时可以引用变量和修改变量。通过变量名随时可以引用变量和修改变量。Matlab特殊之处:无需进

3、行变量声明。(遇到新特殊之处:无需进行变量声明。(遇到新变量名时,自动生成变量,并指定合适的存储空变量名时,自动生成变量,并指定合适的存储空间。如变量早已存在,则自动更新。)间。如变量早已存在,则自动更新。) 2.1 变量及其操作变量及其操作2.1.1 Matlab 语言的变量命名规则语言的变量命名规则 u2.2.自定义变量命名规则自定义变量命名规则u在在Matlab R2012bMatlab R2012b中,变量名是以字母开头,中,变量名是以字母开头,后接字母、数字或下划线的字符序列,最多后接字母、数字或下划线的字符序列,最多6363个字个字符。符。u在在MatlabMatlab中,变量名区

4、分字母的大小写;第一中,变量名区分字母的大小写;第一个字符必须是英文字母(不能超过个字符必须是英文字母(不能超过6363个字符);个字符);u变量名必须是不含空格的单个词;变量名必须是不含空格的单个词;u观察下面的变量名是否合理?观察下面的变量名是否合理? uisvarname myVarNameisvarname myVarNameuans =ans =u 1 1uisvarname 7myVarNameisvarname 7myVarNameuans =ans =u 0 0u 下列变量名中下列变量名中_是合是合法变量。法变量。u A A、pi,exe_01 Bpi,exe_01 B、x x

5、* *y,x1 y,x1 u C C、2a,if D2a,if D、abs, b.mabs, b.m2.1.2 Matlab 的保留常量和变量的保留常量和变量特殊变量取值ans用于结果的缺省变量名pi圆周率eps系统能准确表示的浮点数的精度:2-52inf无穷大,如 1/0NaN不定值,如 0/0i,j虚数单位nargin所用函数的输入变量数目nargout所用函数的输出变量数目realmin最小可用正实数realmax最大可用正实数保保留留常常量量不不能能重重复复定定义!义!u1.1.获取当前变量获取当前变量u(1 1) 用赋值语句初始化变量。用赋值语句初始化变量。u(2 2) 用用inpu

6、t input 函数从键盘输入初始化变量。函数从键盘输入初始化变量。u 例如:例如: in1 = input(enter data:); in1 = input(enter data:);u Enter data:1.23 Enter data:1.23u in2 = input(enter data:,s) in2 = input(enter data:,s)u Enter data:1.23 Enter data:1.23 uu 2.1.4 变量的查看和清除变量的查看和清除2.1.4 变量的查看和清除变量的查看和清除2.2.查看变量查看变量 whowho: 查看当前工作区(查看当前工作区(

7、workspaceworkspace)的变量。)的变量。 whoswhos:查看当前变量的详细信息。:查看当前变量的详细信息。3.3.清除变量清除变量clearclear:清除所有定义过的变量。:清除所有定义过的变量。clear clear 变量名:清除某个变量。变量名:清除某个变量。2.2.1 冒号表达式冒号表达式 冒号表达式可以产生一个行向量,一般格式是:冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3其中其中e1为初始值,为初始值,e2为步长,为步长,e3为终止值。为终止值。在在Matlab中,还可以用中,还可以用linspace函数产生行向量。函数产生行向量。其调用格式为:

8、其调用格式为:linspace(a,b,n)其中其中a和和b是生成向量的第一个和最后一个元素,是生成向量的第一个和最后一个元素,n是元素总数。是元素总数。显然,显然,linspace(a,b,n)与与a:(b-a)/(n-1):b等价。等价。2.2 Matlab数组与矩阵运算数组与矩阵运算1.1.直接输入法直接输入法最简单的建立矩阵的方法是从键盘直接输入矩阵的最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法如下:将矩阵的元素用方括号括元素。具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,

9、不同行的元素之间元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。用分号分隔。例例 输入矩阵输入矩阵A A,B B的值。的值。 A=1 2 3 4;5,6,7,8 A=1 2 3 4;5,6,7,8 9,10,11,12;13 14 15 16 9,10,11,12;13 14 15 16 B=1,sqrt(25),9,13 B=1,sqrt(25),9,13 2 6 10 7 2 6 10 7* *2 2 3+sin(pi),7,11,15 3+sin(pi),7,11,15 4, abs(-8),12,16 4, abs(-8),12,162.2.2 矩阵的建立矩阵的建立2.2.利用利

10、用M M文件建立矩阵文件建立矩阵对于比较大且比较复杂的矩阵,可以为它专门建对于比较大且比较复杂的矩阵,可以为它专门建立一个立一个M M文件。文件。m m文件中的变量名称与文件名不能相同。文件中的变量名称与文件名不能相同。否则会出现变量名与文件名的混乱。否则会出现变量名与文件名的混乱。例例 由由m m文件输入矩阵的值。文件输入矩阵的值。A=1 2 3 4;5,6,7,8A=1 2 3 4;5,6,7,8 9,10,11,12;13 14 15 16 9,10,11,12;13 14 15 16B=1,sqrt(25),9,13B=1,sqrt(25),9,13 2 6 10 7 2 6 10 7

11、* *2 2 3+sin(pi),7,11,15 3+sin(pi),7,11,15 4, abs(-8),12,16 4, abs(-8),12,162.2.2 矩阵的建立矩阵的建立3.3.建立大矩阵建立大矩阵大矩阵可由方括号中的小矩阵或向量建立起来。大矩阵可由方括号中的小矩阵或向量建立起来。例例A=1 2 3;4 5 6;7 8 9;A=1 2 3;4 5 6;7 8 9;C=A,eye(size(A); ones(size(A),AC=A,eye(size(A); ones(size(A),A2.2.2 矩阵的建立矩阵的建立1.1.矩阵元素矩阵元素通过下标引用矩阵的元素,例如通过下标引用

12、矩阵的元素,例如A(3,2)=200A(3,2)=200采用矩阵元素的序号来引用矩阵元素。矩阵元素采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列顺序。在的序号就是相应元素在内存中的排列顺序。在MatlabMatlab中,矩阵元素按列存储,先第一列,再第中,矩阵元素按列存储,先第一列,再第二列,依次类推。例如二列,依次类推。例如A=1,2,3;4,5,6;A=1,2,3;4,5,6;A(3)A(3)ans =ans = 2 2显然,序号显然,序号(Index)(Index)与下标与下标(Subscript )(Subscript )是一一对是一一对应的,以应的,以m

13、mn n矩阵矩阵A A为例,矩阵元素为例,矩阵元素A(i,j)A(i,j)的序号的序号为为(j-1)(j-1)* *m+im+i。其相互转换关系也可利用。其相互转换关系也可利用sub2indsub2ind和和ind2subind2sub函数求得。函数求得。2.2.3 矩阵的拆分矩阵的拆分2.2.矩阵拆分矩阵拆分 (1) (1) 利用冒号表达式获得子矩阵利用冒号表达式获得子矩阵 A(:,j) A(:,j)表示取表示取A A矩阵的第矩阵的第j j列全部元素;列全部元素;A(i,:)A(i,:)表示表示A A矩阵第矩阵第i i行的全部元素;行的全部元素;A(i,j)A(i,j)表示表示取取A A矩阵

14、第矩阵第i i行、第行、第j j列的元素。列的元素。 A(i:i+m,:) A(i:i+m,:)表示取表示取A A矩阵第矩阵第i ii+mi+m行的全行的全部元素;部元素;A(:,k:k+m)A(:,k:k+m)表示取表示取A A矩阵第矩阵第k kk+mk+m列的全列的全部元素,部元素,A(i:i+m,k:k+m)A(i:i+m,k:k+m)表示取表示取A A矩阵第矩阵第i ii+mi+m行行内,并在第内,并在第k kk+mk+m列中的所有元素。列中的所有元素。A(:)A(:)将矩阵将矩阵A A每一列元素堆叠起来,成为一每一列元素堆叠起来,成为一个列向量,而这也是个列向量,而这也是Matlab

15、Matlab变量的内部储存方式变量的内部储存方式。 此外,还可利用一般向量和此外,还可利用一般向量和endend运算符运算符来表示矩阵下标,从而获得子矩阵。来表示矩阵下标,从而获得子矩阵。endend表示某一表示某一维的末尾元素下标。维的末尾元素下标。2.2.3 矩阵的拆分矩阵的拆分 (2) 利用空矩阵删除矩阵的元素利用空矩阵删除矩阵的元素在在Matlab中,定义中,定义为空矩阵。给变量为空矩阵。给变量X赋空赋空矩阵的语句为矩阵的语句为X=。注意,。注意,X=与与clear X不同,不同,clear是将是将X从工作空间中删除,而空矩阵则存在于从工作空间中删除,而空矩阵则存在于工作空间中,只是维

16、数为工作空间中,只是维数为0。2.2.3 矩阵的拆分矩阵的拆分1.1.基本算术运算基本算术运算MatlabMatlab的基本算术运算有:的基本算术运算有:( (加加) )、( (减减) )、* *( (乘乘) )、/(/(右除右除) )、(左除左除) )、(乘方乘方) )。注意,运算是在矩阵意义下进行的,单个数据的注意,运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。算术运算只是一种特例。2.2.点运算点运算在在MatlabMatlab中,有一种特殊的运算,因为其运中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算符是在有关算术运算符前面加点,所以叫点运算。点

17、运算符有算。点运算符有. .* *、././、.和和.。两矩阵进行点。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。矩阵的维参数相同。2.2.4 Matlab数据的运算数据的运算2.2.4 Matlab数据的运算数据的运算 (1) 矩阵加减运算矩阵加减运算假定有两个矩阵假定有两个矩阵A和和B,则可以由,则可以由A+B和和A-B实实现矩阵的加减运算。运算规则是:若现矩阵的加减运算。运算规则是:若A和和B矩阵的矩阵的维数相同,则可以执行矩阵的加减运算,维数相同,则可以执行矩阵的加减运算,A和和B矩矩阵的相应元素相加减。如果阵的相应

18、元素相加减。如果A与与B的维数不相同,的维数不相同,则则Matlab将给出错误信息,提示用户两个矩阵的将给出错误信息,提示用户两个矩阵的维数不匹配。维数不匹配。 (1) 矩阵加减运算矩阵加减运算例例 A=1 2;3,4,B=5 6;7 8,求求X1=A+B;X2=A-B;X3=A+3;X4=B-4。 A=1,2;3,4 B=5 6;7 8 X1=A+B X2=A-B X3=A+3 X4=B-42.2.4 Matlab数据的运算数据的运算2.2.4 Matlab数据的运算数据的运算 (2) 矩阵乘法矩阵乘法 假定有两个矩阵假定有两个矩阵A和和B,若,若A为为mn矩阵,矩阵,B为为np矩阵,则矩阵

19、,则C=A*B为为mp矩阵。矩阵。 .*:矩阵对应元素相乘(数组运算):矩阵对应元素相乘(数组运算)2.2.4 Matlab数据的运算数据的运算(2) (2) 矩阵乘法矩阵乘法 例例 A=1 2 3; -2 0 0;1 0 1;-1 2 -3, A=1 2 3; -2 0 0;1 0 1;-1 2 -3,B=-1 3;-2 2;2 1B=-1 3;-2 2;2 1 求求A A* *B B A=1 2 3; -2 0 0;1 0 1;-1 2 -3, A=1 2 3; -2 0 0;1 0 1;-1 2 -3, B=-1 3;-2 2;2 1 B=-1 3;-2 2;2 1 A A* *B B

20、B B* *A (?)A (?) A*Bans = 1 10 2 -6 1 4 -9 -2 B*AError using * Inner matrix dimensions must agree. 2.2.4 Matlab数据的运算数据的运算(2) (2) 矩阵乘法矩阵乘法 例例 A=1 2 3; 4,5,6,B=5 6;7 8;9 10 A=1 2 3; 4,5,6,B=5 6;7 8;9 10,C=5 6 7;8 9 10C=5 6 7;8 9 10 求求X1=AX1=A* *B; X2=AB; X2=A* *2;2; X3=A. X3=A.* *B; X4=A.B; X4=A.* *2

21、2。 A=1,2,3; 4 5 6 A=1,2,3; 4 5 6 B=5 6;7 8;9 10 B=5 6;7 8;9 10 C=5 6 7; 8 9 10 C=5 6 7; 8 9 10 X1=A X1=A* *B;B; X2=2 X2=2* *A;A; X3=A. X3=A.* *B B (? ?) X4=A. X4=A.* *2 2 X5=A. X5=A.* *C C (? ?) X3=A.*B Error using .* Matrix dimensions must agree. X4=A.*2X4 = 2 4 6 8 10 12 X5=A.*C X5 = 5 12 21 32 45

22、 602.2.4 Matlab数据的运算数据的运算 (3) 矩阵除法矩阵除法在在Matlab中,有两种矩阵除法运算:中,有两种矩阵除法运算:和和/,分,分别表示左除和右除。如果别表示左除和右除。如果A矩阵是非奇异方阵,矩阵是非奇异方阵,则则AB和和B/A运算可以实现。运算可以实现。AB等效于等效于A的逆左的逆左乘乘B矩阵,也就是矩阵,也就是inv(A)*B,而,而B/A等效于等效于A矩阵矩阵的逆右乘的逆右乘B矩阵,也就是矩阵,也就是B*inv(A)。对于含有标量的运算,两种除法运算的结果对于含有标量的运算,两种除法运算的结果相同,如相同,如3/4和和43有相同的值,都等于有相同的值,都等于0.

23、75。又如。又如,设,设a=10.5,25,则,则a/5=5a=2.1000 5.0000。对。对于矩阵来说,左除和右除表示两种不同的除数矩于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。对于矩阵运算,一般阵和被除数矩阵的关系。对于矩阵运算,一般ABB/A。2.2.4 Matlab数据的运算数据的运算 (3) (3) 矩阵除法矩阵除法提示:提示: x=AB x=AB是方程是方程A A* *x=Bx=B的解的解; ; x=B/A x=B/A是方程是方程x x* *A=BA=B的解。的解。 若若A A为非奇异矩阵,则为非奇异矩阵,则ABAB和和B/AB/A可如下获可如下获得:得:

24、AB=inv(A) AB=inv(A)* *B B/A=BB B/A=B* *inv(A)inv(A) : 矩阵左除矩阵左除 / /: : 矩阵右除矩阵右除 ./ ./ : 矩阵点右除(数组运算)矩阵点右除(数组运算) . . : 矩阵点左除(数组运算)矩阵点左除(数组运算)2.2.4 Matlab数据的运算数据的运算 (3) (3) 矩阵除法矩阵除法例例 A=1 0 3; 4 13 6;7 4 9,B=4;7;1 A=1 0 3; 4 13 6;7 4 9,B=4;7;1 求求X1=AB X1=AB ; X2=B/A X2=B/A; X3=A./BX3=A./B A=1 0 3; 4 13

25、6;7 4 A=1 0 3; 4 13 6;7 4 9,B=4;7;19,B=4;7;1 X1=AB X1=AB X2=B/A X2=B/A(?)(?) X3=A./B X3=A./B(?)(?) X4=A./2 X4=A./2 X2=B/AError using / Matrix dimensions must agree. X3=A./BError using ./ Matrix dimensions must agree. X4=A./2X4 = 0.5000 0 1.5000 2.0000 6.5000 3.0000 3.5000 2.0000 4.5000 X1=ABX1 = -3.

26、1591 0.4091 2.38642.2.4 Matlab数据的运算数据的运算 (3) 矩阵的除法矩阵的除法例例 求解线性方程组求解线性方程组12312312323535549xxxxxxxxx2.2.4 Matlab数据的运算数据的运算 (3) 矩阵的除法矩阵的除法分析:分析:A=2 -1 3;3 1 -5;4 -1 1,B=5;5;9解答:解答: A=2 -1 3;3 1 -5;4 -1 1,B=5;5;9 X=AB2.2.4 Matlab数据的运算数据的运算 (4) 矩阵的乘方矩阵的乘方 一个矩阵的乘方运算可以表示成一个矩阵的乘方运算可以表示成Ax,要求,要求A为为方阵,方阵,x为标量

27、。为标量。.的运算规则:的运算规则: (1)A.p 表示矩阵中每个元素的表示矩阵中每个元素的p次乘方。次乘方。 (2)维度相同的)维度相同的A、B矩阵求矩阵求A.B,表示矩阵,表示矩阵A中中元素对矩阵元素对矩阵B中的对应元素求幂。结果矩阵与原中的对应元素求幂。结果矩阵与原矩阵维度相同。矩阵维度相同。2.2.4 Matlab数据的运算数据的运算例例 A=1 0 3; 4 13 6;7 4 9 A=1 0 3; 4 13 6;7 4 9 求求A2A2 A=1 0 3; 4 13 6;7 4 9 A=1 0 3; 4 13 6;7 4 9 A2 A2 A2ans = 22 12 30 98 193

28、144 86 88 126 A.2ans = 1 0 9 16 169 36 49 16 812.2.4 Matlab数据的运算数据的运算例例 已知已知a=0:4, b=1:5, a=0:4, b=1:5, 下面的运算表达式出错的下面的运算表达式出错的为为_。A A、a+b Ba+b B、a ./b a ./b C C、aa* *b b D D、a a* *b b 2.2.4 Matlab数据的运算数据的运算3.3.关系运算和逻辑运算关系运算和逻辑运算MatlabMatlab提供了提供了6 6种关系运算符:种关系运算符:(小于小于) )、=(大于大于) )、=(=(大于或等于大于或等于) )、

29、=(=(等于等于) )、=(=(不等于不等于) )。它们的含义不难理解,但要注意。它们的含义不难理解,但要注意其书写方法与数学中的不等式符号不尽相同。其书写方法与数学中的不等式符号不尽相同。2.2.4 Matlab数据的运算数据的运算v关系运算符的运算法则为:关系运算符的运算法则为:v(1) 当两个比较量是标量时,直接比较两当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为数的大小。若关系成立,关系表达式结果为1,否,否则为则为0。v(2) 当参与比较的量是两个维数相同的矩当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关阵时,比较是对两矩阵相同位置

30、的元素按标量关系运算规则逐个进行,并给出元素比较结果。最系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由矩阵,它的元素由0或或1组成。组成。2.2.4 Matlab数据的运算数据的运算 (3) 当参与比较的一个是标量,而另一个是矩当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩的关系运算的结果是一个维数与原

31、矩阵相同的矩阵,它的元素由阵,它的元素由0或或1组成。组成。2.2.4 Matlab数据的运算数据的运算 例例 建立建立5阶方阵阶方阵A,判断,判断A的元素是否能被的元素是否能被3整除。整除。 A =24,35,13,22,63;23,39,47,80,80; .90,41,80,29,10;45,57,85,62,21;37,19,31,88,76 P=rem(A,3)=0 其中,其中,rem(A,3)是矩阵是矩阵A的每个元素除以的每个元素除以3的余数矩阵。此的余数矩阵。此时,时,0被扩展为与被扩展为与A同维数的零矩阵,同维数的零矩阵,P是进行等于是进行等于(=)比比较的结果矩阵。较的结果矩

32、阵。P =1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 02.2.4 Matlab数据的运算数据的运算Matlab提供了提供了3种逻辑运算符:种逻辑运算符:&(与与)、|(或或)和和(非非)。逻辑运算的运算法则为:逻辑运算的运算法则为:(1) 在逻辑运算中,确认非零元素为真,用在逻辑运算中,确认非零元素为真,用1表表示,零元素为假,用示,零元素为假,用0表示。表示。 (2) 设参与逻辑运算的是两个标量设参与逻辑运算的是两个标量a和和b,那么,那么,a&b a,b全为非零时,运算结果为全为非零时,运算结果为1,否则为,否则为0。a

33、|b a,b中只要有一个非零,运算结果为中只要有一个非零,运算结果为1。a 当当a是零时,运算结果为是零时,运算结果为1;当;当a非零时,非零时,运算结果为运算结果为0。2.2.4 Matlab数据的运算数据的运算(3) 若参与逻辑运算的是两个同维矩阵,那么若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由,其元素由1或或0组成。组成。(4) 若参与逻辑运算的一个是标量,一个是矩若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标

34、量与矩阵中的每个元素之间阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由阵同维的矩阵,其元素由1或或0组成。组成。2.2.4 Matlab数据的运算数据的运算(5) 逻辑非是单目运算符,也服从矩阵运算规逻辑非是单目运算符,也服从矩阵运算规则。则。(6) 在算术、关系、逻辑运算中,算术运算优在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。先级最高,逻辑运算优先级最低。 4.4.矩阵的其他运算矩阵的其他运算sumsum(X)sumsum(X)表示向量表示向量X X所有元素之和,所有

35、元素之和,sum(X,DIM) sum(X,DIM) 表示数组矩阵表示数组矩阵X X的对应第的对应第DIMDIM维元素之维元素之和,例,如果和,例,如果 X = 0 1 2;3 4 5 X = 0 1 2;3 4 5, 则则 sum(X,1) sum(X,1) 是是 3 5 7 3 5 7 而而sum(X,2) sum(X,2) 是是 3,12 3,12 。 inv inv 矩阵求逆矩阵求逆det det 行列式的值行列式的值2.2.4 Matlab数据的运算数据的运算2.2.4 Matlab数据的运算数据的运算eig eig 求矩阵的特征值和特征向量,求矩阵的特征值和特征向量,E=eig(A

36、)E=eig(A):求矩阵:求矩阵A A的全部特征值,构成向量的全部特征值,构成向量E E。 V,D=eig(A)V,D=eig(A):求矩阵:求矩阵A A的全部特征值,构成对角的全部特征值,构成对角阵阵D D, A A的特征向量的特征向量V V的列向量。的列向量。V,D=eig(A,nobalance)V,D=eig(A,nobalance):与前一种格式类:与前一种格式类似,但前一种格式中先对似,但前一种格式中先对A A作相似变换后求矩阵作相似变换后求矩阵A A的特征值和特征向量,而后一种直接求矩阵的特征值和特征向量,而后一种直接求矩阵A A的特的特征值和特征向量。征值和特征向量。2.2.

37、4 Matlab数据的运算数据的运算diag diag 对角矩阵对角矩阵, , 设设A A为为m mn n矩阵,矩阵,diag(A)diag(A)函数用于提取矩阵函数用于提取矩阵A A主对角线元素,产生一个具有主对角线元素,产生一个具有min(m,n)min(m,n)个元素的列向量。个元素的列向量。diag(A)diag(A)函数还有一种函数还有一种形式形式diag(A,k)diag(A,k),其功能是提取第,其功能是提取第k k条对角线的元条对角线的元素。设素。设V V为具有为具有m m个元素的向量,个元素的向量,diag(V)diag(V)将产生一将产生一个个m mm m对角矩阵,其主对角

38、线元素即为向量对角矩阵,其主对角线元素即为向量V V的元的元素。素。diag(V)diag(V)函数也有另一种形式函数也有另一种形式diag(V,k)diag(V,k),其,其功能是产生一个功能是产生一个n nn(n=m+|k|)n(n=m+|k|)对角阵,其第对角阵,其第k k条条对角线的元素即为向量对角线的元素即为向量V V的元素。的元素。2.2.4 Matlab数据的运算数据的运算rank rank 求矩阵秩求矩阵秩tracetrace求矩阵的迹求矩阵的迹, ,其为矩阵的对角线元素之其为矩阵的对角线元素之和,也等于矩阵的特征值之和。和,也等于矩阵的特征值之和。2.2.4 Matlab数据

39、的运算数据的运算矩阵的转置矩阵的转置例例 A=1 0 3; 4 13 6;7 4 9 A=1 0 3; 4 13 6;7 4 9; B=1 2 3; 4 5 6;7 8 9+9i B=1 2 3; 4 5 6;7 8 9+9i 求求X1=A X1=A X2=B X2=B A=1 0 3; 4 13 6;7 4 9 A=1 0 3; 4 13 6;7 4 9 B=1 0 3; 4 13 6;7 4 9+9i B=1 0 3; 4 13 6;7 4 9+9i X1=A X1=A X2=B X2=B2.2.4 Matlab数据的运算数据的运算矩阵的逆矩阵的逆例例 G=1 2 0; 2 5 -1;4

40、10 -1 G=1 2 0; 2 5 -1;4 10 -1求求G G的逆,并验证之。的逆,并验证之。 G=1 2 0; 2 5 -1;4 10 -1 G=1 2 0; 2 5 -1;4 10 -1 X=inv(G) X=inv(G) DW1=G DW1=G* *X X DW2=X DW2=X* *G G2.2.4 Matlab数据的运算数据的运算矩阵的逆矩阵的逆例例 设矩阵设矩阵A A和和B B满足关系式满足关系式AB=A+2BAB=A+2B其中,其中,A=4 2 3;1 1 0;-1 2 3A=4 2 3;1 1 0;-1 2 3求矩阵求矩阵B B。分析:分析: 1 AB=A+2B = 1

41、AB=A+2B =(A-2EA-2E)B=AB=A 2 2 所以,所以,B=B=(A-2EA-2E)-1A-1A A=4 2 3;1 1 0;-1 2 3 A=4 2 3;1 1 0;-1 2 3 B=inv(A-2 B=inv(A-2* *eye(3)eye(3)* *A A2.2.4 Matlab数据的运算数据的运算矩阵的特征值矩阵的特征值 运算符:运算符: eig eig 调用格式:调用格式:eig(A)eig(A)例例 求矩阵求矩阵A A的特征值。其中的特征值。其中 A=1 0 0;0 2 0;0 0 3 A=1 0 0;0 2 0;0 0 3。 A=1 0 0;0 2 0; 0 0

42、3 A=1 0 0;0 2 0; 0 0 3 eig(A) eig(A)2.2.4 Matlab数据的运算数据的运算求矩阵的特征多项式求矩阵的特征多项式 运算符:运算符: poly poly 调用格式:调用格式:poly(A)poly(A)例例 求矩阵求矩阵A A的特征多项式。其中的特征多项式。其中 A=1 2 0;2 5 -1;4 10 -1 A=1 2 0;2 5 -1;4 10 -1。 A=1 2 0;2 5 -1;4 10 -1 A=1 2 0;2 5 -1;4 10 -1 poly(A) poly(A)2.2.4 Matlab数据的运算数据的运算求矩阵的秩求矩阵的秩 运算符:运算符:

43、 rank rank 调用格式:调用格式:rank(A)rank(A)例例 求矩阵求矩阵A A的秩。其中的秩。其中 A=1 2 3;4 5 6 A=1 2 3;4 5 6。 A=1 2 3;4 5 6 A=1 2 3;4 5 6 rank(A) rank(A)2.2.4 Matlab数据的运算数据的运算求矩阵元素的个数求矩阵元素的个数 运算符:运算符: numel numel 调用格式:调用格式:numel(A)numel(A)例题:例题: 求矩阵求矩阵A A的个数。其中的个数。其中 A=1 2 3;4 5 6 A=1 2 3;4 5 6。 A=1 2 3;4 5 6 A=1 2 3;4 5

44、6 numel(A) numel(A)2.2.4 Matlab数据的运算数据的运算方阵的行列式方阵的行列式 运算符:运算符: det det 调用格式:调用格式:det(A)det(A)方阵的行列式方阵的行列式例题:例题: 求方阵求方阵A A的行列式的值。其中的行列式的值。其中 A=1 1 0; 0 0 2 A=1 1 0; 0 0 2; 0 5 -1 0 5 -1。 A=1 1 0; 0 0 2;0 5 -1 A=1 1 0; 0 0 2;0 5 -1 det(A) det(A)2.2.4 Matlab数据的运算数据的运算方阵的迹方阵的迹 运算符:运算符: trace trace 调用格式:

45、调用格式:trace(A)trace(A)例题:例题: 求方阵求方阵A A迹。其中迹。其中 A=1 1 0; 0 0 2 A=1 1 0; 0 0 2; 0 5 -1 0 5 -1。 A=1 1 0; 0 0 2;0 5 -1 A=1 1 0; 0 0 2;0 5 -1 trace(A) trace(A)u常用的产生通用特殊矩阵的函数有:常用的产生通用特殊矩阵的函数有:zeroszeros: 产生全产生全0 0矩阵矩阵( (零矩阵零矩阵) )。onesones:产生全产生全1 1矩阵矩阵( (幺矩阵幺矩阵) )。eyeeye:产生单位矩阵。产生单位矩阵。randrand:产生产生0 01 1间

46、均匀分布的随机矩阵。间均匀分布的随机矩阵。randnrandn: 产生均值为产生均值为0 0,方差为,方差为1 1的标准正态分布的标准正态分布随机矩阵。随机矩阵。2.2.5 特殊矩阵特殊矩阵2.2.5 特殊矩阵特殊矩阵magic(n)magic(n),生成一个,生成一个n n阶魔方阵。魔方矩阵的每行阶魔方阵。魔方矩阵的每行、每列及两条对角线上的元素和都相等。对于、每列及两条对角线上的元素和都相等。对于n n阶阶魔方阵,其元素由魔方阵,其元素由1,2,3,n21,2,3,n2共共n2n2个整数组成。个整数组成。vander(V)vander(V),生成以指定向量,生成以指定向量V V为基础向量的

47、范得为基础向量的范得蒙矩阵。其最后一列全为蒙矩阵。其最后一列全为1 1,倒数第二列为一个指,倒数第二列为一个指定的向量定的向量V V,其他各列是其后列与倒数第二列的点,其他各列是其后列与倒数第二列的点乘积。乘积。 hilb(n)hilb(n),生成希尔伯特矩阵,其每个元素为,生成希尔伯特矩阵,其每个元素为,invhilb(n)invhilb(n),求,求n n阶的希尔伯特阶的希尔伯特矩阵的逆矩阵。矩阵的逆矩阵。toeplitz(x,y)toeplitz(x,y),生成一个以,生成一个以x x为第一列,为第一列,y y为第一为第一行的托普利兹矩阵。这里行的托普利兹矩阵。这里x, yx, y均为向

48、量,两者不均为向量,两者不必等长。必等长。toeplitz(x)toeplitz(x)用向量用向量x x生成一个对称的托生成一个对称的托普利兹矩阵。托普利兹普利兹矩阵。托普利兹(Toeplitz)(Toeplitz)矩阵除第一行矩阵除第一行第一列外,其他每个元素都与左上角的元素相同第一列外,其他每个元素都与左上角的元素相同。1ji1ijh2.2.5 特殊矩阵特殊矩阵2.2.5 特殊矩阵特殊矩阵compan(p)compan(p),生成多项式,生成多项式p(x)p(x)的伴随矩阵,其中的伴随矩阵,其中p p是一个多项式的系数向量,高次幂系数排在前,是一个多项式的系数向量,高次幂系数排在前,低次幂

49、排在后。低次幂排在后。pascal(n)pascal(n)生成一个生成一个n n阶帕斯卡矩阵,二次项阶帕斯卡矩阵,二次项(x+y)n(x+y)n展开后的系数随展开后的系数随n n的增大组成一个三角形表的增大组成一个三角形表,称为杨辉三角形。由杨辉三角形表组成的矩阵,称为杨辉三角形。由杨辉三角形表组成的矩阵称为帕斯卡称为帕斯卡(Pascal)(Pascal)矩阵。矩阵。2.3 常用数学函数常用数学函数u初等数学函数:初等数学函数:help elfunhelp elfunu高等数学函数:高等数学函数:help specfunhelp specfunu help elmat help elmatu注

50、意问题:注意问题:u (1 1)等式中,函数一定是出现在等式的右边。)等式中,函数一定是出现在等式的右边。u (2 2)函数参数要求。(变量个数和格式要求)函数参数要求。(变量个数和格式要求)u (3 3)允许函数嵌套。)允许函数嵌套。u 下面通过实例演练熟悉部分常用函数。下面通过实例演练熟悉部分常用函数。小整理:小整理:MatlabMatlab常用的基本数学函数常用的基本数学函数 abs(x)abs(x):纯量的绝对值或向量的长度:纯量的绝对值或向量的长度 sqrt(x)sqrt(x):开平方:开平方 real(z)real(z):复数:复数z z的实部的实部 imag(z)imag(z):

51、复数:复数z z的虚部的虚部 conj(z)conj(z):复数:复数z z的共轭复数的共轭复数 angle(z)angle(z):复数:复数z z的相角的相角round(x)round(x):四舍五入至最近整数:四舍五入至最近整数 fix(x)fix(x):无论正负,舍去小数至最近整数:无论正负,舍去小数至最近整数 floor(x)floor(x):地板函数,即舍去正小数至最近整数:地板函数,即舍去正小数至最近整数 ceil(x)ceil(x):天花板函数,即加入正小数至最近整数:天花板函数,即加入正小数至最近整数 rat(x)rat(x):将实数:将实数x x化为多项分数展开化为多项分数展

52、开rats(x)rats(x):将实数:将实数x x化为分数表示化为分数表示 2.3 常用数学函数常用数学函数小整理:小整理:MatlabMatlab常用的基本数学函数常用的基本数学函数 sign(x)sign(x):符号函数:符号函数 (Signum function) (Signum function)。 当当x0 x0 x0时,时,sign(x)=1sign(x)=1。 rem(x,y)rem(x,y):求:求x x除以除以y y的馀数的馀数 gcd(x,y)gcd(x,y):整数:整数x x和和y y的最大公因数的最大公因数 lcm(x,y)lcm(x,y):整数:整数x x和和y y

53、的最小公倍数的最小公倍数 exp(x)exp(x):自然指数:自然指数 pow2(x)pow2(x):2 2的指数的指数 log(x)log(x):以:以e e为底的对数,即自然对数为底的对数,即自然对数 log2(x)log2(x):以:以2 2为底的对数为底的对数 log10(x)log10(x):以:以1010为底的对数为底的对数 2.3 常用数学函数常用数学函数实战实战1 1:函数:函数 abs abs功能功能 数值的绝对值与复数的幅值数值的绝对值与复数的幅值格式格式 Y = abs(X) Y = abs(X) % %返回参量返回参量X X的每一个分量的绝对值;的每一个分量的绝对值;

54、% %若若X X为复数的,则返回每一分量的幅值为复数的,则返回每一分量的幅值 % abs(X) = sqrt(real(X).2+imag(X).2) % abs(X) = sqrt(real(X).2+imag(X).2)例例 x= -18; x= -18; z1 = abs(x) z1 = abs(x) y= -2+ 4i; y= -2+ 4i; z2 = abs(y) z2 = abs(y)2.3 常用数学函数常用数学函数实战实战2 2:函数:函数 sqrt sqrt功能功能 求平方根函数求平方根函数格式格式 Y = sqrt(X) % Y = sqrt(X) % 数值的平方根运算数值的

55、平方根运算例例 x= 16; x= 16; z1 = sqrt(x) z1 = sqrt(x) y= -18; y= -18; z2 = sqrt(y) z2 = sqrt(y) f= 2+ 4i; f= 2+ 4i; z3 = sqrt(f) z3 = sqrt(f)2.3常用数学函数常用数学函数2.3 常用数学函数常用数学函数实战实战3 3:函数:函数 exp exp功能功能 以以e e为底数的指数函数为底数的指数函数格式格式 Y = exp(X) Y = exp(X) % % 对参量对参量X X的每一分量,求以的每一分量,求以e e为底数的指数函为底数的指数函数数Y Y。 % X % X

56、中的分量可以为复数。中的分量可以为复数。 % % 对于复数分量如,对于复数分量如,z = x +iz = x +i* *y y, % % 则相应地计算:则相应地计算:ez = exez = ex* *(cos(y) + (cos(y) + i i* *sin(y)sin(y)。例例 x= 3; x= 3; z1 = exp(x) z1 = exp(x) y= -3; y= -3; z1 = exp(y) z1 = exp(y) f= 2+ 4i; f= 2+ 4i; z3 = exp(f) z3 = exp(f)2.3 常用数学函数常用数学函数实战实战4 4:函数:函数 log log功能功能

57、 自然对数,即以自然对数,即以e e为底数的对数。为底数的对数。格式格式 Y = log(X) Y = log(X) % % 对参量对参量X X中的每一个元素计算自然对数。中的每一个元素计算自然对数。 % % 其中其中X X中的元素可以是复数与负数,但由此中的元素可以是复数与负数,但由此可能得到意想不到的结果。可能得到意想不到的结果。 % % 若若z = x + iz = x + i* *y y,则,则loglog对复数的计算如下对复数的计算如下: % log (z) = log (abs (z) + % log (z) = log (abs (z) + i i* *atan2(y,x)ata

58、n2(y,x)例例: : x= 20.0855 x= 20.0855 z1 = log(x) z1 = log(x) f= 2+ 4i; f= 2+ 4i; z3 = log(f) z3 = log(f)下面的语句可以得到无理数下面的语句可以得到无理数的近似值:的近似值:pai = abs(log(-1)pai = abs(log(-1)实战实战5 5:函数:函数 log10 log10功能功能 常用对数,即以常用对数,即以1010为底数的对数。为底数的对数。格式格式 Y = log10(X) % Y = log10(X) %计算计算X X中的每一个元素的常用对数,中的每一个元素的常用对数,

59、% % 若若X X中出现复数,则可能得到意想不到的结果。中出现复数,则可能得到意想不到的结果。例例 x= 10; x= 10; z1 = log10(x) z1 = log10(x) y= -10; y= -10; z1 = log10(y) z1 = log10(y) f= 2+ 4i; f= 2+ 4i; z3 = log10(f) z3 = log10(f)2.3 常用数学函数常用数学函数实战实战6 6:函数:函数 lcm lcm功能功能 整数整数x x和和y y的最小公倍数的最小公倍数格式格式 z = lcm(x z = lcm(x,y) %y) %计算整数计算整数x x和和y y的最

60、小公倍的最小公倍数数 例例 x= 10; y=23; x= 10; y=23; z1 = lcm(x,y) z1 = lcm(x,y) x= 10; y=2; x= 10; y=2; z2 = lcm(x,y) z2 = lcm(x,y) x= 10; y=-2; /? x= 10; y=-2; /? z3 = lcm(x,y) z3 = lcm(x,y)2.3常用数学函数常用数学函数实战实战7 7:函数:函数 gcd gcd功能功能 整数整数x x和和y y的最大公约数的最大公约数格式格式 z = gcd(x z = gcd(x,y) %y) %计算整数计算整数x x和和y y的最大公约数的最大公约数 例例

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论