当前位置:文档之家› 50Mathematica线性代数运算命令与例题

50Mathematica线性代数运算命令与例题

50Mathematica线性代数运算命令与例题第五章 线性代数运算命令与例题线性代数中常用的工具是矩阵(向量)和行列式。

用这些工具可以表示工程技术,经济工作中一些需要用若干个数量从整体上反映其数量关系的问题。

用这些工具可以简明凝练而准确地把所要研究的问题描述出来,以提高研究的效率。

在线性代数课程中我们看到了用这些工具研究齐次和非齐次线性方程组解的理论和解的结构,矩阵的对角化,二次型化标准形等问题的有力,便捷.5.1向量与矩阵的定义数学上矩阵是这样定义的:由n m ⨯个数排成m 行n 列的数表mnm m n n a a a a a a a a a ΛM M M ΛΛ212222111211称为m 行n 列矩阵,特别,当m=1时就是线性代数中的向量。

记作:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=mn m m n n a a a a a a a a a A ΛM M M ΛΛ212222111211两个n m ⨯矩阵称为同型矩阵。

线性代数中的运算对象是向量和矩阵,因此首先介绍向量和矩阵的输入。

5.1.1输入一个矩阵命令形式1:Table[f[i,j],{i ,m},{j ,n}] 功能: 输入n m ⨯矩阵,其中f 是关于i 和j 的函数,给出[i , j]项的值.命令形式2:直接用表的形式来输入功能:用于矩阵元素表达式规律不易找到的矩阵的输入。

注意:1.Mathematica 是采用一个二重表的形式来表示矩阵的,即用{{…},{…},…,{…}} 其中表中的每个表元素都是等长的一维表,第一个表元素是矩阵的第一行,第二个表元素是矩阵的第二行,一般,第n 个表元素是矩阵的第n行。

要看通常的矩阵形式可以用命令:MatrixForm[%]2. 对应上述命令形式,输入一个向量的命令为 Table[f[j],{j,n}]或直接输入一个一维表{a1,a2,…,an},这里a1,a2,…,an 是数或字母。

例题例 1.输入矩阵A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---4138163912145856120312、向量b={1,4,7,-3}。

解:Mathematica 命令In[1]:= a={{12,-3,0,2,1},{56,-8,-45,21,91},{3,6,81,13,4}}Out[1]:= {{12,-3,0,2,1},{56,-8,-45,21,91},{3,6,81,13,4}} In[2]:=b={1, 4, 7, -3} Out[2]:= {1, 4, 7, -3}例2. 输入一个35⨯矩阵[][][][][][][][][][][][][][][]⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡8Sin7Sin6Sin7Sin6Sin5Sin6Sin5Sin4Sin5Sin4Sin3Sin4Sin3Sin2Sin解:Mathematica命令In[3]:=Table[Sin[i+j],{i,5},{j,3}]Out[3]:={{Sin[2],Sin[3],Sin[4]},{Sin[3],Sin[4],Sin[5]},{Sin[4],Sin[5],Sin[6]},{Sin[5],Sin[6],Sin[7]},{Sin[6],Sin[7],Sin[8]}}In[4]:=MatrixForm[%]Out[4]:=Sin[2] Sin[3] Sin[4]Sin[3] Sin[4] Sin[5]Sin[4] Sin[5] Sin[6]Sin[5] Sin[6] Sin[7]Sin[6] Sin[7] Sin[8]5.1.2 几个特殊矩阵的输入1. 生成0矩阵命令形式: Table[0,{m},{n}]功能:产生一个nm⨯的0矩阵2. 生成随机数矩阵命令形式: Table[Random[ ],{m},{n}]功能: 产生一个nm⨯的随机数矩阵3.生成上三角矩阵命令形式: Table[If[i<=j,a,0],{i,m},{j,n}] 功能: 产生一个非0元全为数a的上三角矩阵4.生成下三角矩阵命令形式: Table[If[i>=j,a,0],{i,m},{j,n}]功能: 产生一个非0元全为数a的nm⨯下三角矩阵5.生成三对角矩阵命令形式: Table[Switch[i-j,-1,a[[i]],0,b[[i]],1,c[[i-1]],-,0],{i,m},{j,n}]功能: 产生一个nm⨯的三对角矩阵6.生成对角矩阵命令形式:DiagonalMatrix[list]功能:使用列表中的元素生成一个对角矩阵.7.生成单位矩阵命令形式:IdentityMatrix[n]功能:生成n阶单位阵例题例3. 构造34 的0矩阵。

解: Mathematica命令In[5]:=Table[0,{4},{3}]Out[5]:= {{0,0,0},{0,0,0},{0,0,0},{0,0,0}}In[6]:= MatrixForm[%]Out[6]:=0 0 00 0 00 0 00 0 0例4. 构造一个52⨯的随机数矩阵。

解: Mathematica命令In[7]:=Table[Random[ ],{2},{5}]Out[7]:={{0.46223,0.545335,0.423938,0.635765,0.792571},{0.802126,0.372146,0.114424,0660867,0.0163719}}例5. 构造非0元全为2的4⨯5上三角矩阵。

解:Mathematica命令In[8]:=Table[If[i<=j,2,0],{i,4},{j,5}] Out[8]={{2,2,2,2,2},{0,2,2,2,2},{0,0,2,2,2},{0,0,0,2,2}}In[9]:=MatrixForm[%]Out[9]=2 2 2 2 20 2 2 2 20 0 2 2 20 0 0 2 2例6. 构造非0元全为1的4⨯4下三角方阵。

解:Mathematica 命令In[10]:=Table[If[i>=j ,1,0],{i ,4},{j ,4}] Out[10]={{1,0,0,0},{1,1,0,0},{1,1,1,0},{1,1,1,1}} In[11]:=MatrixForm[%] Out[11]=1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1例7. 生成三对角矩阵⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡b c a b c a b c a b c a b c a b 00000000000000000000。

解:Mathematica 命令In[12]:=Table[Switch[i-j ,-1,a ,0,b ,1,c ,_,0],{i ,6},{j ,6}]Out[12]={{b ,a ,0,0,0,0},{c ,b ,a ,0,0,0},{0,c ,b ,a ,0,0},{0,0,c ,b ,a ,0},{0,0,0,c ,b ,a},{0,0,0,0,c ,b}}例8. 生成对角矩阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡d c b a 。

解:Mathematica 命令In[13]:=DiagonalMatrix[{a ,b ,c ,d}]Out[13]={{a ,0,0,0},{0,b ,0,0},{0,0,c ,0}, {0,0,0,d}}例9.生成5阶单位矩阵。

解:Mathematica 命令 In[14]:=a=IdentityMatrix[5]Out[14]={{1,0,0,0,0},{0,1,0,0,0},{0,0,1,0 0},{0,0,0,1,0},{0,0,0,0,1} } In[15]:=MatrixForm[%] Out[15]=1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 00 0 0 0 15.2向量与矩阵的运算5.2.1基本运算运算功能命令形式矩阵加法和减法将两个同型矩阵相加(减)A B数乘将数与矩阵做乘法kA其中k是一个数,A是一个矩阵矩阵的乘法将两个矩阵进行矩阵相乘A.B其中乘号"."使用键盘上的小数点矩阵的求逆求方阵的逆Inverse[A]A必须为方阵矩阵的转置求矩阵的转置Transpose[A]A可以是任意矩阵向量的数量积(点积) 求同维向量的数量积 v1.v2 其中乘号"."使用键盘上的小数点例题 例10. 计算⎥⎦⎤⎢⎣⎡---+⎥⎦⎤⎢⎣⎡--761232193731解:Mathematica 命令In[16]:= {{1,3,7},{-3,9,-1}}+{{2,3,-2},{-1,6,-7}}Out[16]={{3, 6, 5},{-4, 15, -8}}例11. 计算⎥⎦⎤⎢⎣⎡1533215。

解:Mathematica 命令In[17]:=5{{1,2,3},{3,5,1}}Out[17]={{5, 10, 15}, {15, 25, 5}}例12. 求向量{}c b,a,与{}g f,e,的点积。

解:Mathematica 命令In[18]:= {a , b , c}.{e , f , g} Out[18]= a e + b f + c g例13. 求向量{a ,b ,c}与矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡654321的乘积。

解:Mathematica 命令In[19]:= {a , b , c}.{{1, 2},{3, 4},{5, 6}} Out[19]={a + 3 b + 5 c , 2 a + 4 b + 6 c}例14. 求矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡654321与向量{a ,b}的乘积。

解:Mathematica 命令In[20]:={{1,2},{3,4},{5,6}}.{a , b} Out[20]:={a + 2 b , 3 a + 4 b , 5 a + 6 b}注:Mathematica 中不区分行向量和列向量,而是尽可能给出结果。

例15:求矩阵⎥⎦⎤⎢⎣⎡--112031与⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--104212100131的乘积。

解:Mathematica 命令In[21]:= a={{1,3,0},{-2,-1,1}}In[22]:=b={{1,3,-1,0},{0,-1,2,1},{2,4,0,1}}In[23]:=a.bOut[23]:={{1, 0, 5, 3}, {0, -1, 0, 0}}例16. 求矩阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡---6201111121324321的逆。

解:Mathematica 命令In[24]:=A={{1,2,3,4},{2,3,1,2},{1,1,1,-1},{1,0,-2,-6}}Out[24]={{1,2,3,4},{2,3,1,2},{1,1,1,-1},{1,0,-2,-6}} In[25]:=Inverse[A]Out[25]={{22,-6,-26,17},{-17,5,20,-13},{-1,0,2,-1},{4,-1,-5,3}}例17. 求矩阵⎥⎦⎤⎢⎣⎡d cb a的逆。

相关主题