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