第六节 用 mathematica 作向量、矩阵运算
DESCRIPTION
第六节 用 Mathematica 作向量、矩阵运算. 在 Mathematic 中,有序数组被称为 “ 表 ” ( list ) “ 表 ” 既可以表示集合,又可以表示向量和矩阵。许多函数都可以作用在表上。 6.1 向量和矩阵的输入 6.2 获得表的元素 6.3 表的维数和加、减法 6.4 向量和矩阵的乘法 6.5 关于矩阵的几个常用函数. 6.1 向量和矩阵的输入. 从键盘输入一个表,用 { } 将表的元素括起,元素之间用逗号分隔。 例 1 输入数据列 0 , 16 , 64 , 144 , 256 。定义为变量 data - PowerPoint PPT PresentationTRANSCRIPT
第六节 用 Mathematica 作向量、矩阵运算
在 Mathematic 中,有序数组被称为“表”( list )“表”既可以表示集合,又可以表示向量和矩阵。许多函数都可以作用在表上。
6.1 向量和矩阵的输入 6.2 获得表的元素 6.3 表的维数和加、减法 6.4 向量和矩阵的乘法 6.5 关于矩阵的几个常用函数
6.1 向量和矩阵的输入 从键盘输入一个表,用 { } 将表的元素括
起,元素之间用逗号分隔。例 1 输入数据列 0 , 16 , 64 , 144 , 2
56 。定义为变量 data data={0,16,64,144,256}例 2 输入矩阵 M=
221
310
152
M={{2,5,-1} , {0,-1,3} , {1,2,-2}}矩阵的每一行用 { } 括起。
对于某些有规律的表 Mathematica 提供了函数 Table[ ],Nestlist[ ] 。
例 3 已知数列通项 ,给出前 10 项。
例 4 给出 30以内的奇数。
2nxn Table@n^2,8n, 1, 10<D81, 4, 9, 16, 25, 36, 49, 64, 81, 100<Table@n,8n, 1, 30, 2<D81, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29<
例 5 给出
特殊矩阵的输入命令有 Table[f[i,j],{i,m}.{j,n}] 生成以 f 的计算值为元素的 m 行列矩阵 Array[a,{m,n}] 生成以 a[i,j] 为元素的 m 行 n 列矩阵。 IdentityMatrix[n] 生成 n 阶单位阵。 DiagonaMatrix[List] 生成以表中元素为对角元的对角矩阵。
,5,,5,5,5,5 284 n81, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29<NestListSqrt, 5, 20N5., 2.23607, 1.49535, 1.22284, 1.10582, 1.05158,1.02547, 1.01265, 1.00631, 1.00315, 1.00157, 1.00079, 1.00039,
1.0002, 1.0001, 1.00005, 1.00002, 1.00001, 1.00001, 1., 1.
例 6 生成三阶 Hilbert 矩阵
得到
例 7 生成四阶单位阵
Table@1Hi+j - 1L,8i, 3<,8j, 3<DMatrixForm@%Dik1 1
213
12
13
14
13
14
15
y{
IdentityMatrix@4D881, 0, 0, 0<,80, 1, 0, 0<,80, 0, 1, 0<,80, 0, 0, 1<<
例 8 生成一个以 {1 , 2 , 3 , 4 , 5} 为对角元的对角矩阵,并用矩阵形式表示
得到
DiagonalMatrix@81, 2, 3, 4, 5<D;MatrixForm@%Dik1 0 0 0 00 2 0 0 00 0 3 0 00 0 0 4 00 0 0 0 5
y{
6.2 获得表的元素 A 是一个向量,则 A[i] 表示向量的第 i 个元素。M 是一个 m 行 n 列矩阵,则用 M[[i]] 表示矩阵
的第 i 行;M[[i,j]] 表示第 i 行 , 第 j 列交 叉点处的元素。Transpose[m][[j]] 表示 M 的第 j 列 .M[[{i1,i2},{j1,j2}]] 取 M 的第 i1 、 i2 行 , j1 、 j2 列构成子矩阵。
例 9 构造一个 3*3 矩阵 , 再取出它的元素 。
M=Array@a,83, 3<D;MatrixForm@%DM@@2DDM@@3, 2DDTranspose@MD@@3DDM@@81, 3<,82, 3<DD
取出第 2 行 取出第 3 行、第 2 列的元素 取出第 3列 取出由 1 、 3 行, 2 、 3 列构成子矩阵
ika@1, 1Da@1, 2Da@1, 3Da@2, 1Da@2, 2Da@2, 3Da@3, 1Da@3, 2Da@3, 3Dy{8a@2, 1D, a@2, 2D, a@2, 3D<a@3, 2D8a@1, 3D, a@2, 3D, a@3, 3D88a@1, 2D, a@1, 3D<,8a@3, 2D, a@3, 3D<<
6.3 表的维数和加、减法 6.3.1 Dimensions[list] 给出向量或矩阵
的维数。例 10 求下列向量和矩阵的维数
T =81, 2, 3, 4<m=881, 2, 3<,84, 5, 6<<Di mens i ons@TDDi mens i ons@mD84<82, 3<
运行得出 向量的维数为 4 矩阵是 2 行3 列的
6.3.2 矩阵的加、减法 相同维数的表可以相加,它的和是对应元
素的相加所得的同维的表 a1, a2, a3b1, b2, b3a1 b1, a2 b2, a3 b3m1=Array@a,83, 2<D;m2=Array@b,83, 2<D;MatrixForm@m1+m2Dika@1, 1D+b@1, 1Da@1, 2D+b@1, 2Da@2, 1D+b@2, 1Da@2, 2D+b@2, 2Da@3, 1D+b@3, 1Da@3, 2D+b@3, 2Dy{
6.4 向量和矩阵的乘法 6.4.1 向量的内积
6.4.2 矩阵乘矩阵
计算下列矩阵的乘积
8a1, a2, a3<.8b1, b2, b3<a1b1+a2 b2+a3b3
Ja1 a2 a3b1 b2 b3
N.ikc1 c2d1 d2e1 e2
y{
注意 : 这里乘法使用” ·” 是 Mathematica 特有的 , 这种乘法不满足交换律 . 当向量与矩阵相乘用“ ·” 能自动把向量看作行向量或列向量。
例如矩阵 m 左乘向量 v 时, v 被看作列向量,而矩阵右乘向量 v 时, v 被看作行向量。
m1 a1, a2, a3,b1, b2, b3m2 c1, c2,d1, d2,e1, e2m1.m2Ja1c1 +a2 d1+a3e1 a1c2 +a2 d2+a3e2b1c1 +b2 d1+b3e1 b1c2 +b2 d2+b3e2
N
6.5 关于矩阵的几个常用函数
Inverse[M] 求 M 的逆矩阵Transpose[M] 求 M 的转置矩阵Det[M] 方阵 M 的行列式Eigenvalues[M] 求矩阵 M 的特征值
例 12
求转置矩阵
0 该矩阵行列式为 0
Inverse@88a, b<,8c, d<<D:: d
- bc+ad, -
b
- bc+ad>,:- c
- bc+ad,
a
- bc+ad>>
m=881, 2, 3<,84, 5, 6<,87, 8, 9<<;m1=Transpose@mD881, 4, 7<,82, 5, 8<,83, 6, 9<<Det@mD
系统给出提示,所计算矩阵是奇异的。
Inverse@mDInverse::sing :
Matrix 881, 2, 3<,84, 5, 6<,87, 8, 9<<is singular.
Inverse@881, 2, 3<,84, 5, 6<,87, 8, 9<<D
例 13 计算非奇异矩阵 m2 的逆
例 14 求上例中矩阵的特征值
运行得到矩阵m2的三个特征值为 -2、 1、 4。
m2=882, -2, 0<,8-2, 1, - 2<,80, - 2, 0<<;Inverse@m2D::1
2, 0, -
1
2>,:0, 0, -
1
2>,:- 1
2, -
1
2,1
4>>
Eigenvalues@m2D8- 2, 1, 4<
例 15 求方程组 的解
0674
522
963
852
4321
432
421
4321
xxxx
xxx
xxx
xxxx
A=882, 1, - 5, 1<,81, - 3, 0, - 6<,80, 2, - 1, 2<,81, 4, - 7, 6<<b=88, 9, - 5, 0<[email protected]., - 4., - 1., 1.<
习题 1-6
1. 构造一个以 {1,-2,3,1} 为对角元的对角矩阵;
2. 生成矩阵 并用矩阵形式给出;
3 .取出上例中矩阵的第 2 行、第 3 行第 2列交叉点元素、第 1 列、以及由 1 、 2行, 2 、 3 列构造的子矩阵;
130
321
011
4 .计算矩阵的乘积
5 .求矩阵的逆
6 .假设矩阵满足如下关系
其中 , 求 。
321
011
324
331
212
321
331
212
321
BAAB 2
321
011
324
A B