200 likes | 686 Views
第六节 用 Mathematica 作向量、矩阵运算. 在 Mathematic 中,有序数组被称为 “ 表 ” ( list ) “ 表 ” 既可以表示集合,又可以表示向量和矩阵。许多函数都可以作用在表上。 6.1 向量和矩阵的输入 6.2 获得表的元素 6.3 表的维数和加、减法 6.4 向量和矩阵的乘法 6.5 关于矩阵的几个常用函数. 6.1 向量和矩阵的输入. 从键盘输入一个表,用 { } 将表的元素括起,元素之间用逗号分隔。 例 1 输入数据列 0 , 16 , 64 , 144 , 256 。定义为变量 data
E N D
第六节 用Mathematica作向量、矩阵运算 在Mathematic中,有序数组被称为“表”(list)“表”既可以表示集合,又可以表示向量和矩阵。许多函数都可以作用在表上。 6.1 向量和矩阵的输入 6.2 获得表的元素 6.3 表的维数和加、减法 6.4 向量和矩阵的乘法 6.5 关于矩阵的几个常用函数
6.1 向量和矩阵的输入 从键盘输入一个表,用{ }将表的元素括起,元素之间用逗号分隔。 例1输入数据列0,16,64,144,256。定义为变量data data={0,16,64,144,256} 例2输入矩阵M=
M={{2,5,-1},{0,-1,3},{1,2,-2}} 矩阵的每一行用{ }括起。 • 对于某些有规律的表Mathematica提供了函数Table[ ],Nestlist[ ]。 例3已知数列通项 ,给出前10项。 例4给出30以内的奇数。
例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]生成以表中元素为对角元的对角矩阵。
例6生成三阶Hilbert矩阵 得到 例7生成四阶单位阵
例8生成一个以{1,2,3,4,5}为对角元的对角矩阵,并用矩阵形式表示例8生成一个以{1,2,3,4,5}为对角元的对角矩阵,并用矩阵形式表示 得到
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列构成子矩阵。
取出第2行 取出第3行、第2 列的元素 取出第3列 取出由1、3 行,2、3列构成子矩阵
6.3 表的维数和加、减法 6.3.1 Dimensions[list] 给出向量或矩阵的维数。 例10求下列向量和矩阵的维数 运行得出 向量的维数为4 矩阵是2行3列的
6.3.2矩阵的加、减法 相同维数的表可以相加,它的和是对应元素的相加所得的同维的表
6.4 向量和矩阵的乘法 6.4.1 向量的内积 6.4.2 矩阵乘矩阵 计算下列矩阵的乘积
注意:这里乘法使用”·”是Mathematica 特有的,这种乘法不满足交换律.当向量与矩阵相乘用“·”能自动把向量看作行向量或列向量。 例如矩阵m左乘向量v时,v被看作列向量,而矩阵右乘向量v时,v被看作行向量。
6.5 关于矩阵的几个常用函数 • Inverse[M] 求M的逆矩阵 • Transpose[M]求M的转置矩阵 • Det[M] 方阵M的行列式 • Eigenvalues[M]求矩阵M的特征值
例12 求转置矩阵 0 该矩阵行列式为0
例13计算非奇异矩阵m2的逆 例14求上例中矩阵的特征值 运行得到矩阵m2的三个特征值为-2、1、4。
习题 1-6 • 构造一个以{1,-2,3,1}为对角元的对角矩阵; 2. 生成矩阵 并用矩阵形式给出; 3.取出上例中矩阵的第2行、第3行第2列交叉点元素、第1列、以及由1、2行,2、3列构造的子矩阵;
4.计算矩阵的乘积 5.求矩阵 的逆 6.假设矩阵满足如下关系 其中 ,求 。