第六节用Mathematica作向量、矩阵运算
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
运行得出 向量的维 数为4 矩阵是2行3列 的
2, 3
6.3.2矩阵的加、 6.3.2矩阵的加、减法 矩阵的加 相同维数的表可以相加,它的和是对 应元素的相加所得的同维的表
@D D@D DD@D @D@D@ y i D@D@D@D @D @ { @ k
m1 = Array a, 3, 2 m2 = Array b, 3, 2 MatrixForm m1 + m2 a 1, 1 + b 1, 1 a a 2, 1 + b 2, 1 a a 3, 1 + b 3, 1 a ; ;
6.4 向量和矩阵的乘法
a1 b1 + a2 b2 + a3 b3
6.4.2 矩阵乘矩阵 计算下列矩阵的乘积
a1 b1 c1 c2 a2 a3 . d1 d2 b2 b3 e1 e2
iy J N{ k
J
m = a ,a ,a , b ,b ,b 1 1 2 3 1 2 3 m = c ,c , d ,d , e ,e 2 1 2 1 2 1 2 m .m 1 2
6.1 6.2 6.3 6.4 6.5
向量和矩阵的输入 获得表的元素 表的维数和加、减法 表的维数和加、 向量和矩阵的乘法 关于矩键盘输入一个表,用{ }将表的元素 括起,元素之间用逗号分隔。 括起,元素之间用逗号分隔。 例1 输入数据列0,16,64,144,256。定 义为变量data data={0,16,64,144,256} 例2 输入矩阵M= 2 5 1 0 1 3 1 2 2
1 1 1 1 1 1 ,0 - , 0 , - , - ,- , , ,0 2 2 2 2 2 4
例14 求上例中矩阵的特征值
8D8 < < < 8 @> > :> : : @D 8<
Eigenvalues m2 - 2, 1, 4
运行得到矩阵m2的三个特征值为-2、1、4。
例15 求方程组 2 x1 + x2 5 x3 + x4 = 8
的解
b = 8, 9, - 5, 0 Inverse A .b N
3., - 4., - 1., 1.
习题 1-6
1. 构造一个以{1,-2,3,1}为对角元的对角 矩阵; 1 1 0 2. 生成矩阵 1 2 3 并用矩阵形式给出;
0 3 1
3.取出上例中矩阵的第2行、第3行第2列 交叉点元素、第1列、以及由1、2行,2、 3列构造的子矩阵;
a1 ,1 a 1 ,2 a 1 ,3 a2 ,1 a 2 ,2 a 2 ,3 a3 ,1 a 3 ,2 a 3 ,3 a 2, 1 , a 2, 2 , a 2, 3
取出第2行 取出第3行、第2 a3 ,2 列的元素 a 1,3 , a 2,3 , a 3,3 取出第3列 a 1 ,a 1 , a 3 , a 3 ,2 ,3 ,2 ,3 取出由1、3 行,2、3列构成子矩阵
<
<
Table[f[i,j],{i,m}. Table[f[i,j],{i,m}.{j,n}]
生成以f的计算值为元素的 m行列矩阵 生成以a[i,j]为元素的m行n列矩阵。 Array[a,{m,n}] 生成n阶单位阵。 IdentityMatrix[n] DiagonaMatrix[List] 生成以表中元素为对角元的对角矩阵。
k{ @ D
1
1 2 1 3 1 2 1 3 1 4 1 3 1 4 1 5
例8 生成一个以{1,2,3,4,5}为对角元的 对角矩阵,并用矩阵形式表示
DiagonalMatrix 1, 2, 3, 4, 5 ; MatrixForm %
得到
8 D @ < @y D i
k {
1 0 0 0 0 0 2 0 0 0 0 0 3 0 0 0 0 0 4 0 0 0 0 0 5
8<88< << < 88
a1 c1 + a2 d1 + a3 e1 a1 c2 + a2 d2 + a3 e2 b1 c1 + b2 d1 + b3 e1 b1 c2 + b2 d2 + b3 e2
N
注意: 这里乘法使用””是Mathematica 特有 注意: 的,这种乘法不满足交换律.当向量与矩阵相 乘用“”能自动把向量看作行向量或列向量。 例如矩阵m左乘向量v时,v被看作列向量, 而矩阵右乘向量v时,v被看作行向量。
<
例5 给出 5, 5 , 5 , 5 , , 5 ,
4 8 2n
@ D 悙 8 8
特殊矩阵的输入命令有
NestList Sqrt, 5, 20 N 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29
5., 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.
M={{2,5,-1},{0,-1,3},{1,2,-2}} 矩阵的每一行用{ }括起。 对于某些有规律的表Mathematica Mathematica提供了 对于某些有规律的表Mathematica提供了 函数Table[ ]。 函数Table[ ],Nestlist[ ]。 x n = n 2 ,给出前10项。 例3 已知数列通项
8 < <8 < << 8 8 8@悙 D< 8
A= 2 ,-5 , 1 -3 ,-6 , 0 ,-1 , ,1 ,1 , ,0 ,2 ,2 1 ,-7 ,4 ,6
x 3x 6 x4 = 9 1 2 2 x 2 x3 + 2 x 4 = 5 x1 + 4 x 2 7 x3 + 6 x 4 = 0
1 2 3 4 2 3 4.计算矩阵的乘积 2 1 2 1 1 0 1 3 3 1 2 3 1 2 3 5.求矩阵 的逆 2 1 2 1 3 3
6.假设矩阵满足如下关系 AB = A + 2 B
4 2 3 其中A = 1 1 0 1 2 3
表的维数和加、 6.3 表的维数和加、减法
6.3.1 Dimensions[list] 给出向量或矩阵 的维数。 的维数。 例10 求下列向量和矩阵的维数
T = m =
Dimensions T Dimensions m
8< < < < 8 @8 8D @ D 8< < 8
1, 2, 3, 4 1, 2, 3 , 4, 5, 6
Inverse
D8 8 @< < < 8
1, 2, 3 , 4, 5, 6 , 7, 8, 9
@<<< 8 88D
is singular.
系统给出提示,所计算矩阵是奇异的。
例13 计算非奇异矩阵m2的逆 m2= 2, -2, 0 , -2, 1, -2 , 0, -2,0 ; Inverse m2
例4 给出30以内的奇数。
Table n, n, 1, 30, 2
@8 < D 8 @8 < D 8
Table n^2, n, 1, 10
1, 4, 9, 16, 25, 36, 49, 64, 81, 100
<
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29
6.2 获得表的元素
A是一个向量,则A[i] A[i]表示向量的第i个元素。 A[i] M是一个m行n列矩阵,则用M[[i]] M[[i]]表示矩阵的第i M[[i]] 行; 表示第i行,第j列交 M[[i,j]] 叉点处的元素。 表示M的第j列. Transpose[m][[j]] M[[{i1,i2},{j1,j2 M[[{i1,i2},{j1,j2}]] 取M的第i1、i2行, j1、j2列构成子矩阵。
例6 生成三阶Hilbert矩阵 得到
Table 1 i + j - 1 , i, 3 , j, 3 MatrixForm %
@HDL < < 8 8D @ iy
例7 生成四阶单位阵
8< < < < 888
IdentityMatrix 4 1,0,0,0 , 0,1, 0,0 , 0,0,1, 0 , 0,0,0,1
6.5 关于矩阵的几个常用函数
Inverse[M] Transpose[M] Det[M] Eigenvalues[M] 求M的逆矩阵 求M的转置矩阵 方阵M的行列式 求矩阵M的特征值
例12
8 8< D @<> > :8 < :8 < 8< @< D 8< < 88
Ivre a , c nes ,b ,d
例9 构造一个3*3矩阵,再取出它的元素 。
M = Array a, 3, 3 ; MatrixForm % M 2 M 3, 2
Transpose M 3 M 1, 3 , 2, 3
8 8D @< <
D @8< @ D @D D @ @D D @
@@@y iDDD @DDD D D@D < @@{ @@@@ kDDD 8D @ @D D D 8DD@@< @ @< DD @8 8 @ @
d b c a ,, , -bc+ ad -bc+ ad -bc+ ad -bc+ ad
m = 1,2,3 , 4,5,6 , 7,8,9 ; 求转置矩阵 m1= Transpose m
1 ,7 , 2 ,8 , 3 ,9 ,4 ,5 ,6
Det m
0
D @
该矩阵行列式为0
Inverse m
Inverse::sing : Matrix 1,2,3 , 4,5,6 , 7,8,9
1, 2 + b 1, 2 2, 2 + b 2, 2 3, 2 + b 3, 2
8 @8<< <D < 8< @8D
a ,a ,a + b ,b ,b 1 2 3 1 2 3 a1 + b1, a2 + b2, a3 + b3
6.4.1 向量的内积
8< < 8
a1, a2, a3 . b1, b2, b3
,求 B 。
假设矩阵满足如下关系??????????????????????321011324331212321?????????331212321其中求
Mathematica作向量 作向量、 第六节 用Mathematica作向量、 矩阵运算
在Mathematic中,有序数组被称为“表”(list) Mathematic中 有序数组被称为“ list) 既可以表示集合,又可以表示向量和矩阵。 “表”既可以表示集合,又可以表示向量和矩阵。许 多函数都可以作用在表上。 多函数都可以作用在表上。