附录一 MATLAB软件简介 MATLAB语言是美国 Mathworks公司研制开发的大型计算软件,自1985年问世 以来,特别是1993年4. x Windows版本的出现,使得 MATLAB语言的使用获得了巨 大的发展。它的强大的矩阵处理与运算功能、丰富的图形绘制能力深受用户的青睐 控制领域的研究者与工程技术人员对此给予了极大关注,国际上众多的知名学者在 此基础上先后开发出一系列的相关工具箱( toolbox),如控制系统工具箱( Control System Toolbox)、神经网络工具箱( Neural Network Toolbox)、系统辨识工具箱 ( Systerm Identification Toolbox)、最优化工具箱( Optimization Toolbox)、鲁 棒控制工具箱( Robust control toolbox)等,以及集成在 MATLAB上的面向结构图的 系统分析平台 Simulink。从而使得 MATLAB的功能得到了全面提高,几乎覆盖了控制 领域各个硏究分支,成为国际控制领域最为重要与流行的对控制系统进行分析研究 的软件工具。本节将简要介绍一些 MATLAB的最基本知识,为没有接触过 MATLAN语 言的控制领域的人员提供一定的基础知识。对于更加详细的内容请读者参阅相关的 文献书籍与在线帮助。值得说明的是在本书前面各章节中提到的 MATLAB是广义上的 MATLAB含义,它将包括相关的工具箱等方面的知识与内容 1变量与附表达式 在 MATLAB中变量名与C语言一样,要求以字母开头的字符串可以是字母、数字 或下画线。例如, namestring, string_12等都是合法的变量名。变量名的长度以 不超过25个字符为限。在 MATLAB中对变量名是区分大小写字母的,即同一个字母 不同的大小写代附表着不同的变量。当用户在 MATLAB工作空间输入一个新变量后, MATLAB将自动分配给该变量相应的内存,不需要在输入变量时加以声明。变量是 MATLAB的基本运算单元,是其进行运算和编写程序的基础,由变量构成的基本语句 就是赋值语句,其典型格式为 变量名=附表达式 下述示例给出了最简单的赋值语句,在 MATLAB的命令窗口中输入 则定义了一个变量name_1,并实现了对它的赋值,这可以通过在命令窗口上键入该 变量名来检査变量是否已经被定义和赋值。得到结果为 上例证实了变量name_1已经建立并且已被赋值。在 MATLAB的变量中有一类变
206 附录一 MATLAB 软件简介 MATLAB 语言是美国 Mathworks 公司研制开发的大型计算软件,自 1985 年问世 以来,特别是 1993 年 4.x Windows 版本的出现,使得 MATLAB 语言的使用获得了巨 大的发展。它的强大的矩阵处理与运算功能、丰富的图形绘制能力深受用户的青睐。 控制领域的研究者与工程技术人员对此给予了极大关注,国际上众多的知名学者在 此基础上先后开发出一系列的相关工具箱(toolbox),如控制系统工具箱(Control System Toolbox)、神经网络工具箱(Neural Network Toolbox)、系统辨识工具箱 (Systerm Identification Toolbox)、最优化工具箱(Optimization Toolbox)、鲁 棒控制工具箱(Robust Control Toolbox)等,以及集成在 MATLAB 上的面向结构图的 系统分析平台 Simulink。从而使得 MATLAB 的功能得到了全面提高,几乎覆盖了控制 领域各个研究分支,成为国际控制领域最为重要与流行的对控制系统进行分析研究 的软件工具。本节将简要介绍一些 MATLAB 的最基本知识,为没有接触过 MATLAN 语 言的控制领域的人员提供一定的基础知识。对于更加详细的内容请读者参阅相关的 文献书籍与在线帮助。值得说明的是在本书前面各章节中提到的 MATLAB 是广义上的 MATLAB 含义,它将包括相关的工具箱等方面的知识与内容。 1 变量与附表达式 在 MATLAB 中变量名与 C 语言一样,要求以字母开头的字符串可以是字母、数字 或下画线。例如, namestring, string_12 等都是合法的变量名。变量名的长度以 不超过 25 个字符为限。在 MATLAB 中对变量名是区分大小写字母的,即同一个字母 不同的大小写代附表着不同的变量。当用户在 MATLAB 工作空间输入一个新变量后, MATLAB 将自动分配给该变量相应的内存,不需要在输入变量时加以声明。变量是 MATLAB 的基本运算单元,是其进行运算和编写程序的基础,由变量构成的基本语句 就是赋值语句,其典型格式为 变量名=附表达式 下述示例给出了最简单的赋值语句,在 MATLAB 的命令窗口中输入 name_1= 4 则定义了一个变量 name_1,并实现了对它的赋值,这可以通过在命令窗口上键入该 变量名来检查变量是否已经被定义和赋值。得到结果为 name_1= 4 上例证实了变量 name_1 已经建立并且已被赋值。在 MATLAB 的变量中有一类变
量允许作用在多个函数中,这类变量就是全局变量。对于全局变量是需要声明的, 即在该变量名前冠以关键宇“ global”,如在命令窗口键入 global HE 则这样H就变成了全局变量 如果需要求解一个附表达式并将运算结果存于某一变量,可由下述语句实现 A=3*16+10-27/3 运行上述语句可得到 若直接输入附表达式,而没有将运算结果赋值给变量, MATLAB将自动将结果存 于内部 “ans”中并加以显示,例如输入 3*16+10-27/3 运行得到 ans 如果在表达式的最后应用“;’结束,虽然不会影响对变量赋值的结果,但运算 结果将不在屏幕上显示 另外 MATLAB自身具有一些内部常数或准内部变量(函数),允许用户直接加以使 用,如附表1-1所示 附表1-1内部常数与变量 「内部常数(函数)名 功能 内部常数(函数)名 flops 「计算浮点 虚数单位 圆周率 dat 日期 无穷大 tic, toc 时间间隔 nan 不定值 etime 时间间隔 2基本运算符 MATLAB语言具有强大的运算功能,它能够为用户提供所需计算的各种算术与逻 辑运算。附表1一2给出了 MATLAB的主要算术与逻辑关系运算符及其相应的功能解 释 附表1-2算术与逻辑运算符 匚运算符功能解释运算符功能解释
207 量允许作用在多个函数中,这类变量就是全局变量。对于全局变量是需要声明的, 即在该变量名前冠以关键宇“global”,如在命令窗口键入 global HE HE= 0.124; 则这样 HE 就变成了全局变量。 如果需要求解一个附表达式并将运算结果存于某一变量,可由下述语句实现 A=3*16+10-27/3 运行上述语句可得到 A= 49 若直接输入附表达式,而没有将运算结果赋值给变量,MATLAB 将自动将结果存 于内部 “ans”中并加以显示,例如输入 3*16+10-27/3 运行得到 ans = 49 如果在表达式的最后应用“;’结束,虽然不会影响对变量赋值的结果,但运算 结果将不在屏幕上显示。 另外 MATLAB 自身具有一些内部常数或准内部变量(函数),允许用户直接加以使 用,如附表 1-1 所示。 附表 1-1 内部常数与变量 内部常数(函数)名 功 能 内部常数(函数)名 功 能 i 虚数单位 flops 计算浮点运算次数 j 虚数单位 clock 时间 pi 圆周率 date 日期 inf 无穷大 tic,toc 时间间隔 nan 不定值 etime 时间间隔 2 基本运算符 MATLAB 语言具有强大的运算功能,它能够为用户提供所需计算的各种算术与逻 辑运算。附表 1-2 给出了 MATLAB 的主要算术与逻辑关系运算符及其相应的功能解 释。 附表 1-2 算术与逻辑运算符 运算符 功能解释 运算符 功能解释 + 加 == 等于
减 不等于 (矩阵)乘 数组 小于 (矩阵)乘方 大于等于 数组乘方 小于等于 (矩阵)左除 逻辑与 数组左除 辑或 (矩阵)右除 逻辑非 数组右除 3M文件 所谓M文件就是用 MATLAB语言编写的磁盘文件,该文件均以“.m”作为文件 的扩展名,它们都是 ASCII码的文件格式,因此可以采用任何能够生成 ASCII码文 件格式的编辑器加以编辑。M文件分为脚本( script)文件与函数( function)文件两大 类 1.M脚本文件 M脚本文件就是根据用户要求,使用 MATLAB语言组成的具有一定功能的 MATLAB 指令集合。M脚本文件运行后,所产生的变量驻留在 MATLAB的工作空间中,只要用 户不对其使用 clear命令加以清除(或关闭 MATLAB命令窗口),则这些变量将会一直 保留在 MATLAB的工作空间中。下述 MATLAB语句如果以.m为扩展名存盘,就构成了 M脚本文件。 den=conv(conv([1,0],[1,3]),[1,2,2]) Gl=tf(num, den) Ab= a-b*c Step (ab, Bb, Cb, Db) 2M函数文件 从结构上看M函数文件的第一行一定具有函数声明行,该行是以 function作为 该行的关键字,它是M函数文件必须具有的内容。在该行中,函数名与函数的相关 变量均被加以定义:而M函数文件的另一关键内容是M函数体,这也是M函数文件
208 - 减 ~= 不等于 * (矩阵)乘 > 大于 .* 数组乘 = 大于等于 .^ 数组乘方 <= 小于等于 \ (矩阵)左除 & 逻辑与 .\ 数组左除 | 逻辑或 / (矩阵)右除 ~ 逻辑非 ./ 数组右除 3 M 文件 所谓 M 文件就是用 MATLAB 语言编写的磁盘文件,该文件均以“.m”作为文件 的扩展名,它们都是 ASCII 码的文件格式,因此可以采用任何能够生成 ASCII 码文 件格式的编辑器加以编辑。M 文件分为脚本(script)文件与函数(function)文件两大 类。 1.M 脚本文件 M 脚本文件就是根据用户要求,使用 MATLAB 语言组成的具有一定功能的 MATLAB 指令集合。M 脚本文件运行后,所产生的变量驻留在 MATLAB 的工作空间中,只要用 户不对其使用 clear 命令加以清除(或关闭 MATLAB 命令窗口),则这些变量将会一直 保留在 MATLAB 的工作空间中。下述 MATLAB 语句如果以. m 为扩展名存盘,就构成了 M 脚本文件。 num=2* [1,2」; den=conv(conv([1,0],[1,3]),[l,2,2]); G1=tf(num, den); G=ss( G1); [a, b, c, d]= ssdata(G); Ab= a-b*c Bb= b Cb= c Db=0 Step(Ab,Bb,Cb,Db) 2.M 函数文件 从结构上看 M 函数文件的第一行一定具有函数声明行,该行是以 function 作为 该行的关键字,它是 M 函数文件必须具有的内容。在该行中,函数名与函数的相关 变量均被加以定义;而 M 函数文件的另一关键内容是 M 函数体,这也是 M 函数文件
不可缺少的一部分内容,由它实现该M函数文件的相应功能。在这两部分之间可以 插入各种注释与说明,这些注释与说明的内容放在%后面,该部分内容不作为程序 加以执行,而为在线帮助和阅读程序提供必要的信息。在M函数文件中所定义的变 量都是内部变量,函数执行完毕后这些变量将随之消失,不会影响 MATLAB的整个工 作空间,M函数文件就是建立一个函数,而这个函数可以同 ATLAB的基本库函数一样 加以使用,附表1-3给出了 MATLAB的常用基本数学函数。 附表1-3基本数学函数 函数名 函数名 sin(x) 正弦函数1n(x 自然对数ln(x) cos 余弦函数 1og0(x)以10为底的对数函数 tan (x) 正切函数 模或绝对值 cot(x) 余切函数 angle(x) 复相角 正割函数 共轭复数 余割函数 I mag (x 复数虚部 弦函数 数实部 acos(x) 反余弦函数 fix(x) 近似0的整数 近似小于自身的最大整 atan (x) 反正切函数 floor(x) 数 acot (x) 反余切函数 ceil(x) 近似大于自身的最小整 asec(x) 反正割函数 round(x) 四舍五入 acsc(x) 反余割函数 除以y的余数 指数e函数 符号函数 考查下述例子 ction y= mean(x)% Thi is a M function file 将上述程序存入mean1.m的磁盘文件,从而构造了一个M函数文件,该函数文 件能够实现对平均数的求取。现在如果需要即可对其加以使用,在 MATLAB命令窗口 中键入 运行得到 该例就是直接使用了所建立的M函数文件,对数列r求出相应的平均数
209 不可缺少的一部分内容,由它实现该 M 函数文件的相应功能。在这两部分之间可以 插入各种注释与说明,这些注释与说明的内容放在%后面,该部分内容不作为程序 加以执行,而为在线帮助和阅读程序提供必要的信息。在 M 函数文件中所定义的变 量都是内部变量,函数执行完毕后这些变量将随之消失,不会影响 MATLAB 的整个工 作空间,M 函数文件就是建立一个函数,而这个函数可以同 ATLAB 的基本库函数一样 加以使用,附表 1-3 给出了 MATLAB 的常用基本数学函数。 附表 1-3 基本数学函数 函数名 功能 函数名 功能 sin(x) 正弦函数 ln(x) 自然对数 ln(x) cos(x) 余弦函数 log10(x) 以 10 为底的对数函数 tan(x) 正切函数 abs(x) 模或绝对值 cot(x) 余切函数 angle(x) 复相角 sec(x) 正割函数 conj(x) 共轭复数 csc(x) 余割函数 imag(x) 复数虚部 asin(x) 反正弦函数 real(x) 复数实部 acos(x) 反余弦函数 fix(x) 近似 0 的整数 atan(x) 反正切函数 floor(x) 近似小于自身的最大整 数 acot(x) 反余切函数 ceil(x) 近似大于自身的最小整 数 asec(x) 反正割函数 round(x) 四舍五入 acsc(x) 反余割函数 rem(x,y) x 除以 y 的余数 exp(x) 指数 e x 函数 sign(x) 符号函数 考查下述例子。 function y= mean(x)% Thi is a M function file m=length(x); y=sum(x)/m; 将上述程序存入 meanl.m 的磁盘文件,从而构造了一个 M 函数文件,该函数文 件能够实现对平均数的求取。现在如果需要即可对其加以使用,在 MATLAB 命令窗口 中键入 r= 1:99; mean (r) 运行得到 ans= 50 该例就是直接使用了所建立的 M 函数文件,对数列 r 求出相应的平均数
4矩阵、数组与基本数值运算功能 矩阵与数组在形式上有相似之处,但概念是不同的。矩阵表示的是一种线性变 换关系,它有着严格的线性代数运算规则,而数组运算则是由 MATLAB软件定义的。 4.1矩阵的建立 在 MATLAB中一个矩阵不但可以表示为数学意义上的矩阵,也可表示为一个向量 对于一个向量可以认为是一个1Xn或nx1的矩阵,显然标量就是向量的特殊形 式。在MAT一LAB中矩阵的建立有多种方法,主要可以通过下述途径加以实现 1.直接输入法 对于一个矩阵一般可以直接输入得到,如键入 A=[123:456;789] 会得到相应的矩阵为 258 对于较大的矩阵也可分行输入,如键入 A=[1.0,2.0,3.0,4.0 5.0,6.0,7.0,8.0 9.0,10,11,12 13,14,15,16] 得到相应的矩阵为 A 9101112 1314151 可以看出在建立矩阵时,元素之间空格和“,”的意义相同,“;”的意义是起换 行符的作用 2.在M文件中构建矩阵 M文件是一类含有 MATLAB合法代码的文本文件。用户可以通过采用M文件构造 所需要的矩阵。在 MATLAB中建立下述M文件,并将其存盘,取temp.m作为该M文 件名 =[123 210
210 4 矩阵、数组与基本数值运算功能 矩阵与数组在形式上有相似之处,但概念是不同的。矩阵表示的是一种线性变 换关系,它有着严格的线性代数运算规则,而数组运算则是由 MATLAB 软件定义的。 4.1 矩阵的建立 在MATLAB中一个矩阵不但可以表示为数学意义上的矩阵,也可表示为一个向量。 对于一个向量可以认为是一个 1 X n 或 n X 1 的矩阵,显然标量就是向量的特殊形 式。在 MAT-LAB 中矩阵的建立有多种方法,主要可以通过下述途径加以实现。 1.直接输入法 对于一个矩阵一般可以直接输入得到,如键入 A=[12 3;4 5 6;7 8 9] 会得到相应的矩阵为 A= 1 2 3 4 5 6 7 8 9 对于较大的矩阵也可分行输入,如键入 A=[ 1.0,2.0,3.0,4.0 5.0,6.0,7.0,8.0 9.0,10,11,12 13,14,15,16] 得到相应的矩阵为 A= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 可以看出在建立矩阵时,元素之间空格和“,”的意义相同,“;”的意义是起换 行符的作用。 2.在 M 文件中构建矩阵 M 文件是一类含有 MATLAB 合法代码的文本文件。用户可以通过采用 M 文件构造 所需要的矩阵。在 MATLAB 中建立下述 M 文件,并将其存盘,取 temp.m 作为该 M 文 件名。 B=[1 2 3 4
4321 65] 当在 MATLAB的命令窗口中敲入 将会得到运行结果为 1234 4321 5678 3由 MATLAB函数构造矩阵 在 MATLAB中可以利用特殊函数构造相关矩阵 ros函数一一用以产生指定维数的全0元素矩阵 ones函数一一用以产生指定维数的全1元素矩阵 rand函数—一用以产生指定维数的随机元素矩阵。 eye函数一一用以产生指定维数的单位矩阵,往往与size函数结合使用。 diag(函数)—一用以产生对角矩阵。 若在 MATLAB命令窗口中键入 D=zeros(3, 2) 得到 D= 00 00 输入 E= ones( 2, 3) 得到 在 MATLAB中运行 =ones(3) eye(size(w)) 得到
211 4 3 2 1 5 6 7 8 8 7 6 5] 当在 MATLAB 的 命令窗口中敲入 temp 将会得到运行结果为 temp B= 1 2 3 4 4 3 2 1 5 6 7 8 8 7 6 5 3 由 MATLAB 函数构造矩阵 在 MATLAB 中可以利用特殊函数构造相关矩阵。 zeros 函数——用以产生指定维数的全 0 元素矩阵。 ones 函数——用以产生指定维数的全 1 元素矩阵。 rand 函数——用以产生指定维数的随机元素矩阵。 eye 函数——用以产生指定维数的单位矩阵,往往与 size 函数结合使用。 diag(函数)——用以产生对角矩阵。 若在 MATLAB 命令窗口中键入 D=zeros(3,2) 得到 D= 0 0 0 0 1 0 输入 E= ones( 2,3) 得到 E= 1 1 1 1 1 1 在 MATLAB 中运行 w=ones(3) q=size(W) eye(size(w)) 得到 W=
1113 ans- 100 010 输入 R=rand (3, 2) 得到 0.00990.1987 0.13890.6038 0.20280.2722 R为一个3行2列的随机矩阵,当rand函数不带参数时将产生一个随机数。 4.2矩阵与数组的运算 1.基本运算 矩阵的算术运算是严格按照线性代数的法则定义的,而数组运算则是按元素进 行的。在 MATLAB中,算术运算允许采用运算符与运算函数两种形式加以进行。为了 清晰地表示它们之间的区别,在此以对照的方式加以介绍。这些基本运算可由下述 相应指令加以实现 (1)加、减运算。如果假设A、B阵分别为 则在 MATLAB中进行下述运算 H=A+B或H=plus(A,B) H= 55 若 H=AB或H=minu(A,B) 212
212 1 1 1 1 1 1 1 1 1 q= 3 3 ans= 1 0 0 0 1 0 0 0 1 输入 R=rand( 3, 2) 得到 R= 0.0099 0.1987 0.1389 0.6038 0.2028 0.2722’ R 为一个 3 行 2 列的随机矩阵,当 rand 函数不带参数时将产生一个随机数。 4.2 矩阵与数组的运算 1.基本运算 矩阵的算术运算是严格按照线性代数的法则定义的,而数组运算则是按元素进 行的。在 MATLAB 中,算术运算允许采用运算符与运算函数两种形式加以进行。为了 清晰地表示它们之间的区别,在此以对照的方式加以介绍。这些基本运算可由下述 相应指令加以实现。 (1)加、减运算。如果假设 A、B 阵分别为 则在 MATLAB 中进行下述运算 H= A+B 或 H= plus(A, B) 得到 H= 5 5 5 5 若 H=A—B 或 H= minu(A, B) = 3 4 1 2 A = 2 1 4 3 B
得到 H= (2)乘法运算。在乘法运算中,矩阵与数组的乘法格式是有区别的,分别给出在 MATLAB中的格式为 矩阵乘:A*B或 times(A,B) 数组乘:A.*B或 times(A,B) 若已知A、B同前,则矩阵运算 H=A** B 得到 H= 执行数组乘法运算 H=A. **B 得到运算结果为 H 46 由上述运算结果可以看出,矩阵乘法运算与线性代数的矩阵运算完全一致,而 数组乘法运算是按照元素相乘的方法进行的 (3)矩阵的求逆运算。如果已知矩阵A为 则其相应逆阵为 Ia= inv(a) 运算结果为 IA= 2.00001.0000 1.5000-5.000 (4)矩阵的除法运算。矩阵左除在 MATLAB中表示为H=A\B或H= divide(A,B) 如果A是n阶矩阵,B是n维向量或相应的矩阵,则可以利用X=A\B求取方 程AX=B的解。如已知 AX= B 其中
213 得到 H= - 3 -1 1 3 (2)乘法运算。在乘法运算中,矩阵与数组的乘法格式是有区别的,分别给出在 MATLAB 中的格式为 矩阵乘: A* B 或 mtimes(A,B) 数组乘: A.* B 或 times(A,B) 若已知 A、B 同前,则矩阵运算 H=A* B 得到 H= 8 5 20 13 执行数组乘法运算 H=A.*B 得到运算结果为 H= 4 6 6 4 由上述运算结果可以看出,矩阵乘法运算与线性代数的矩阵运算完全一致,而 数组乘法运算是按照元素相乘的方法进行的。 (3)矩阵的求逆运算。如果已知矩阵 A 为 则其相应逆阵为 IA= inv(A) 运算结果为 IA= -2.0000 1.0000 1.5000 -5.000 (4)矩阵的除法运算。矩阵左除在 MATLAB 中表示为 H=A\B 或 H= mldivide(A,B) 如果 A 是 n 阶矩阵, B 是 n 维向量或相应的矩阵,则可以利用 X=A\ B 求取方 程 AX= B 的解。如已知 AX= B 其中 = 3 4 1 2 A
B=[11] 运行 X=A\ B 如果应用矩阵求逆的方法也可求解上述方程,即 X= inv(A)* B 得 1.0000 与矩阵左除相类似的还有矩阵右除B/A或 divide(A,B),它基本相当于B inv(A)的功能,用以求取方程XA=B的解。另外在 MATLAB中还可十分容易地应用 det(A)函数求取行列式|A值,在此不再详述。 (5)数组除法。数组除法运算的基本指令与矩阵除法相类似,分别为 A./B或 rdivide(A,B)数组右除 A.\B或 Divide(A,B)数组左除 数组除法与矩阵除法的根本区别在于;数组除是A、B数组元素相除,即数组右 除就是A(i,j/B(i,j):而数组左除就是B(i,j)\A(i,j)。 2.方次运算 矩阵的方次运算的基本运算格式为 k 这里k足为正整数时,矩阵自乘K次;K为负整数时,则先求逆,然后矩阵再自 乘k次 若已知矩阵A同前,当 运算得到 1522 数组方次运算的基本运算格式为
214 B=[1 1]’ 运行 X=A\ B 得 X= -1 1 如果应用矩阵求逆的方法也可求解上述方程,即 X= inv(A)* B 得 X= - 1.0000 1.0000 与矩阵左除相类似的还有矩阵右除 B/ A 或 mrdivide(A,B),它基本相当于 B* inv(A)的功能,用以求取方程 XA=B 的解。另外在 MATLAB 中还可十分容易地应用 det(A)函数求取行列式|A|值,在此不再详述。 (5)数组除法。数组除法运算的基本指令与矩阵除法相类似,分别为 A./B 或 rdivide(A,B) 数组右除 A.\B 或 ldivide(A,B) 数组左除 数组除法与矩阵除法的根本区别在于;数组除是 A、B 数组元素相除,即数组右 除就是 A(i,j)/B(i,j);而数组左除就是 B(i,j)\ A(i,j)。 2.方次运算 矩阵的方次运算的基本运算格式为 A^k 这里 k 足为正整数时,矩阵自乘 K 次;K 为负整数时,则先求逆,然后矩阵再自 乘 k 次。 若已知矩阵 A 同前,当 U=A^2 运算得到 U= 7 10 15 22 数组方次运算的基本运算格式为: A.^B = 3 4 1 2 A
数组的乘方就是A、B对应元素的乘方,即进行A(i,j)的B(i,j次方。如果 B为标量,则对应A(i,j)的B次方运算 对于二次开方运算,在 MATLAB中特别提供了专门的函数。如果已知矩阵A为 34 可以应用 sqrt函数对其进行开平方运算。 运行 srtm(A) 得到 ans- 0.5537+0.4644i0.8070-0.2124i 1.2104-0.3186i1.7641+0.1458i 3.矩阵的转置运算 在 MATLAB中矩阵的转置运算可按下述形式进行 已知矩阵A同前,则当 24 4.矩阵的其他翻转变换 1)T= fliplr(A)进行A阵关于垂直轴沿左右方向翻,得到 21 43 2)T= fliud(A)进行A阵关于水平轴沿上下方向翻转,得到 34 3)T=rot90(A)矩阵A逆时针方向旋转90,得到 3 4.3矩阵的特征值与特征向量 在 MATLAB中,eig函数用以计算矩阵的特征值与特征向量。其基本格式如下
215 数组的乘方就是 A 、B 对应元素的乘方,即进行 A(i,j)的 B(i,j)次方。如果 B 为标量,则对应 A(i,j)的 B 次方运算。 对于二次开方运算,在 MATLAB 中特别提供了专门的函数。如果已知矩阵 A 为 可以应用 sqrtm 函数对其进行开平方运算。 运行 sqrtm(A) 得到 ans= 0.5537+0.4644i 0.8070-0.2124i 1.2104-0.3186i 1.7641+0.1458i 3.矩阵的转置运算 在 MATLAB 中矩阵的转置运算可按下述形式进行。 已知矩阵 A 同前,则当 T=A' 得到 T= 1 3 2 4 4.矩阵的其他翻转变换 l)T=fliplr(A) 进行 A 阵关于垂直轴沿左右方向翻,得到 T= 2 1 4 3 2)T=flipud(A) 进行 A 阵关于水平轴沿上下方向翻转,得到 T= 3 4 1 2 3)T= rot90(A)矩阵 A 逆时针方向旋转 90 ,得到 T= 2 4 1 3 4.3 矩阵的特征值与特征向量 在 MATLAB 中,eig 函数用以计算矩阵的特征值与特征向量。其基本格式如下。 = 3 4 1 2 A