数学实验第五讲 用mathematica的相应功能进行向量矩阵运算

合集下载

Mathematica矩阵的各种运算

Mathematica矩阵的各种运算

Mathematica可进行矩阵的各种运算,如矩阵求逆、矩阵的转置、矩阵与向量的乘法等.下面列出主要的运算.记k为常数,u,v为向量,A,B为矩阵k*A------------------------常数乘矩阵k+u-----------------------向量u的每一个元素加上ku+v----------------------向量的对应元素相加u.v-----------------------向量的内积u*v-----------------------向量的对应元素相乘A.u---------------------矩阵乘向量u.A-----------------------向量乘矩阵A.B--------------------------矩阵乘矩阵Transpose[A]-----------------求矩阵A的转置阵Inverse[A]--------------------求矩阵A的逆矩阵Det[A]-------------------------求矩阵A的行列式Eigenvalues[A]-----------------求数字阵A的特征值Eigentvectors[A]---------------求数字阵A的特征向量LinearSolve[A,v]---------------求解线性方程组Ax=vChop[%n]-------------------舍去第n个输出中无实际意义小量矩阵可以左乘以向量或右乘以向量, Mathematica也不区分“行”,或“列”向量,自动进行可能的运算.例:In[1]:=A={{a,b},{c,d}}; v={x,y};In[2]:=A.v (A左乘以v)Out[2]={ax+by,cx+dy}In[3]:=v.A (A右乘以v)Out[3]={ax+cy,bx+dy}In[4]:=Inverse[A]Out[4]=如果矩阵的元素是近似数,则求出的逆矩阵也是近似的。

矩阵运算及方程组求解

矩阵运算及方程组求解

附录Ⅰ大学数学实验指导书项目五矩阵运算与方程组求解实验1 行列式与矩阵实验目的把握矩阵的输入方式. 把握利用Mathematica 以上版本) 对矩阵进行转置、加、减、数乘、相乘、乘方等运算, 并能求矩阵的逆矩阵和计算方阵的行列式.大体命令在Mathematica中, 向量和矩阵是以表的形式给出的.1. 表在形式上是用花括号括起来的假设干表达式, 表达式之间用逗号隔开.如输入{2,4,8,16}{x,x+1,y,Sqrt[2]}那么输入了两个向量.2. 表的生成函数(1)最简单的数值表生成函数Range, 其命令格式如下:Range[正整数n]—生成表{1,2,3,4,…,n};Range[m, n]—生成表{m,…,n};Range[m, n, dx]—生成表{m,…,n}, 步长为d x.2. 通用表的生成函数Table. 例如,输入命令Table[n^3,{n,1,20,2}]那么输出{1,27,125,343,729,1331,2197,3375,4913,6859}输入Table[x*y,{x,3},{y,3}]那么输出{{1,2,3},{2,4,6},{3,6,9}}3. 表作为向量和矩阵一层表在线性代数中表示向量, 二层表表示矩阵. 例如,矩阵⎪⎪⎭⎫ ⎝⎛5432 能够用数表{{2,3},{4,5}}表示.输入A={{2,3},{4,5}}那么输出 {{2,3},{4,5}}命令MatrixForm[A]把矩阵A 显示成通常的矩阵形式. 例如,输入命令:MatrixForm[A]那么输出 ⎪⎪⎭⎫⎝⎛5432注:一样情形下,MatrixForm[A]所代表的矩阵A 不能参与运算. 下面是一个生成抽象矩阵的例子. 输入Table[a[i,j],{i,4},{j,3}] MatrixForm[%]那么输出⎪⎪⎪⎪⎪⎭⎫⎝⎛]3,4[]2,4[]1,4[]3,3[]2,3[]1,3[]3,2[]2,2[]1,2[]3,1[]2,1[]1,1[a a a a a a a a a a a a 注:那个矩阵也能够用命令Array 生成,如输入Array[a,{4,3}]4. 命令IdentityMatrix[n]生成n 阶单位矩阵. 例如,输入IdentityMatrix[5]那么输出一个5阶单位矩阵(输出略).5. 命令DiagonalMatrix[…]生成n 阶对角矩阵. 例如,输入DiagonalMatrix[{b[1],b[2],b[3]}]那么输出 {{b[1],0,0},{0,b[2],0},{0,0,b[3]}}它是一个以b[1], b[2], b[3]为主对角线元素的3阶对角矩阵.6. 矩阵的线性运算:A+B 表示矩阵A 与B 的加法;k*A 表示数k 与矩阵A 的乘法; 或 Dot[A,B]表示矩阵A 与矩阵B 的乘法.7. 求矩阵A 的转置的命令:Transpose[A]. 8. 求方阵A 的n 次幂的命令:MatrixPower[A,n]. 9. 求方阵A 的逆的命令:Inverse[A]. 10.求向量a 与b 的内积的命令:Dot[a,b].实验举例矩阵的运算例 设,421140123,321111111⎪⎪⎪⎭⎫ ⎝⎛--=⎪⎪⎪⎭⎫ ⎝⎛--=B A 求A AB 23-及.B A T输入A={{-1,1,1},{1,-1,1},{1,2,3}} MatrixForm[A]B={{3,2,1},{0,4,1},{-1,2,-4}} MatrixForm[B]-2A AAB 23-BA T ⎪⎪⎪⎭⎫⎝⎛-----334421424141010⎪⎪⎪⎭⎫⎝⎛----10120821444,5123641033252312⎪⎪⎪⎪⎪⎭⎫⎝⎛=A .1-A ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--------1652116114581081218192829211161121162147.11111111111122222222ddd d c c c c b b b b a a a a D ++++=2222)1)()()()()()((dc b a abcd d c d b d a c b c a b a +--------,60975738723965110249746273⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛----=A .),(|,|3A A tr A 3),(|,|AA tr A ⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛---12574547726668013841222451984174340410063122181713228151626315018483582949442062726,150421321,111111111⎪⎪⎪⎭⎫ ⎝⎛--=⎪⎪⎪⎭⎫ ⎝⎛--=B A 求A AB 23-及.B A '2.设,001001⎪⎪⎪⎭⎫⎝⎛=λλλA 求.10A 一样地?=k A (k 是正整数).3.求⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+++++a a a aa1111111111111111111111111的逆.4.设,321011324⎪⎪⎪⎭⎫ ⎝⎛-=A 且,2B A AB +=求.B5.利用逆矩阵解线性方程组⎪⎩⎪⎨⎧=++=++=++.353,2522,132321321321x x x x x x x x x实验2 矩阵的秩与向量组的最大无关组实验目的 学习利用Mathematica 以上版本)求矩阵的秩,作矩阵的初等行变换; 求向 量组的秩与最大无关组.大体命令1. 求矩阵M 的所有可能的k 阶子式组成的矩阵的命令:Minors[M,k].2. 把矩阵A 化作行最简形的命令:RowReduce[A].3. 把数表1,数表2, …,归并成一个数表的命令:Join[list1,list2,…]. 例如输入Join[{{1,0,-1},{3,2,1}},{{1,5},{4,6}}]那么输出 {{1,0,-1},{3,2,1},{1,5},{4,6}}实验举例求矩阵的秩例 设,815073*********⎪⎪⎪⎭⎫⎝⎛-------=M 求矩阵M 的秩.输入Clear[M];M={{3,2,-1,-3,-2},{2,-1,3,1,-3},{7,0,5,-1,-8}}; Minors[M,2]那么输出{{-7,11,9,-5,5,-1,-8,8,9,11},{-14,22,18,-10,10,-2, -16,16,18,22},{7,-11,-9,5,-5,1,8,-8,-9,-11}}可见矩阵M 有不为0的二阶子式. 再输入Minors[M,3]那么输出{{0,0,0,0,0,0,0,0,0,0}}可见矩阵M 的三阶子式都为0. 因此.2)(=M r例 求矩阵⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-----3224211631095114047116的行最简形及其秩.输入A={{6,1,1,7},{4,0,4,1},{1,2,-9,0},{-1,3,-16,-1},{2,-4,22,3}} MatrixForm[A]RowReduce[A]⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-00000000100005100101矩阵的初等行变换例 用初等变换法求矩阵.343122321⎪⎪⎪⎭⎫ ⎝⎛的逆矩阵.输入 A={{1,2,3},{2,2,1},{3,4,3}}MatrixForm[A]Transpose[Join[Transpose[A],IdentityMatrix[3]]]⎪⎪⎪⎭⎫ ⎝⎛---1112/532/3231)7,5,1,3(),5,4,3,1(),1,1,1,1(),3,2,1,1(4321==-==αααα⎪⎪⎪⎪⎪⎭⎫⎝⎛0000010010102001向量组的最大无关组 例 求向量组)0,5,1,2(),0,2,1,1(),14,7,0,3(),2,1,3,0(),4,2,1,1(54321=-===-=ααααα的最大无关组, 并将其它向量用最大无关组线性表示.输入Clear[A,B];A={{1,-1,2,4},{0,3,1,2},{3,0,7,14},{1,-1,2,0},{2,1,5,0}}; B=Transpose[A];RowReduce[B]⎪⎪⎪⎪⎪⎭⎫⎝⎛-000002/51000101102/10301非零行的首元素位于第一、二、四列,因此421,,ααα是向量组的一个最大无关组. 第三列的前两个元素别离是3,1,于是.3213ααα+=第五列的前三个元素别离是,25,1,21-于是.25214215αααα++-=实验习题1.求矩阵⎪⎪⎪⎪⎪⎭⎫⎝⎛----=12412116030242201211A 的秩.2.求t , 使得矩阵⎪⎪⎪⎭⎫⎝⎛-=t A 23312231的秩等于2.3.求向量组)0,0,1(),1,1,1(),1,1,0(),1,0,0(4321====αααα的秩.4.当t 取何值时, 向量组),3,1(),3,2,1(),1,1,1(321t ===ααα的秩最小?5.向量组)1,1,1,1(),1,1,1,1(),1,1,1,1(),1,1,1,1(4321-=--=--==αααα是不是线性相关?6.求向量组)6,5,4,3(),5,4,3,2(),4,3,2,1(321===ααα的最大线性无关组. 并用最大无关 组线性表示其它向量.7.设向量),6,3,3,2(),6,3,0,3(),18,3,3,8(),0,6,3,1(2121=-=-=-=ββαα求证:向量组21,αα 与21,ββ等价.实验3 线性方程组实验目的 熟悉求解线性方程组的经常使用命令,能利用Mathematica 命令各类求线性方程组的解. 明白得运算机求解的有效意义.大体命令1.命令NullSpace []A ,给出齐次方程组0=AX 的解空间的一个基.2.命令LinearSolve []b A ,,给出非齐次线性方程组b AX =的一个特解.3.解一样方程或方程组的命令Solve 见Mathematica 入门.实验举例求齐次线性方程组的解空间设A 为n m ⨯矩阵,X 为n 维列向量,那么齐次线性方程组0=AX 必然有解. 假设矩阵A 的秩等于n ,那么只有零解;假设矩阵A 的秩小于n ,那么有非零解,且所有解组成一贯量空间. 命令NullSpace 给出齐次线性方程组0=AX 的解空间的一个基.例 求解线性方程组⎪⎪⎩⎪⎪⎨⎧=---=++=+--=--+.0532,0375,023,02432143243214321x x x x x x x x x x x x x x x输入Clear[A];A={{1,1,-2,-1},{3,-2,-1,2},{0,5,7,3},{2,-3,-5,-1}}; NullSpace[A]那么输出{{-2,1,-2,3}}说明该齐次线性方程组的解空间是一维向量空间,且向量(-2,1,-2,3)是解空间的基. 注:若是输出为空集{ },那么说明解空间的基是一个空集,该方程组只有零解.例 向量组)7,5,1,3(),5,4,3,1(),1,1,1,1(),3,2,1,1(4321==-==αααα是不是线性相关? 依照概念,若是向量组线性相关,那么齐次线性方程组044332211='+'+'+'ααααx x x x 有非零解.输入Clear[A,B];A={{1,1,2,3},{1,-1,1,1},{1,3,4,5},{3,1,5,7}}; B=Transpose[A]; NullSpace[B]输出为{{-2,-1,0,1}}说明向量组线性相关,且02421=+--ααα非齐次线性方程组的特解例 求线性方程组⎪⎪⎩⎪⎪⎨⎧=----=++=+--=--+45322375222342432143243214321x x x x x x x x x x x x x x x 的特解.输入Clear[A,b];A={{1,1,-2,-1},{3,-2,-1,2},{0,5,7,3},{2,-3,-5,-1}}; b={4,2,-2,4} LinearSolve[A,b]输出为{1,1,-1,0}注: 命令LinearSolve 只给出线性方程组的一个特解.例 求出通过平面上三点(0,7),(1,6)和(2,9)的二次多项式,2c bx ax ++并画出其图形.依照题设条件有 ,924611700⎪⎩⎪⎨⎧=+⋅+⋅=+⋅+⋅=+⋅+⋅c b a c b a c b a 输入Clear[x];A={{0,0,1},{1,1,1},{4,2,1}} y={7,6,9}p=LinearSolve[A,y]Clear[a,b,c,r,s,t];{a,b,c}.{r,s,t} f[x_]=p.{x^2,x,1};Plot[f[x],{x,0,2},GridLines ->Automatic,PlotRange ->All];那么输出c b a ,,的值为 {2,-3,7}并画出二次多项式7322+-x x 的图形(略).非齐次线性方程组的通解用命令Solve 求非齐次线性方程组的通解.例当a 为何值时,方程组⎪⎩⎪⎨⎧=++=++=++111321321321ax x x x ax x x x ax 无解、有唯一解、有无穷多解?当方程组有解时,求通解.先计算系数行列式,并求a ,使行列式等于0. 输入Clear[a];Det[{{a,1,1},{1,a,1},{1,1,a}}]; Solve[%==0,a]那么输出{{a →-2},{a →1},{a →1}} 当a 2-≠,a 1≠时,方程组有唯一解.输入Solve[{a*x +y +z ==1,x +a*y +z ==1,x +y +a*z ==1},{x,y,z}]则输出{{x →,21a + y →,21a+ z →a +21}}当a =-2时,输入Solve[{-2x+y+z==1,x -2y+z==1,x+y -2z==1},{x,y,z}]则输出{ }说明方程组无解. 当a =1时,输入Solve[{x+y+z==1,x+y+z==1,x+y+z==1},{x,y,z}]则输出{{x →1-y -z}}}说明有无穷多个解.非齐次线性方程组的特解为(1,0,0),对应的齐次线性方程组的基础解 系为为(-1,1,0)与(-1,0,1).例 求非齐次线性方程组 ⎪⎩⎪⎨⎧-=+-+=-+-=+-+2534422312432143214321x x x x x x x x x x x x 的通解.解法1输入A={{2,1,-1,1},{3,-2,1,-3},{1,4,-3,5}};b={1,4,-2}; particular=LinearSolve[A,b] nullspacebasis=NullSpace[A]generalsolution=t*nullspacebasis[[1]]+k*nullspacebasis[[2]]+Flatten[particular]generalsolution 其通解为⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-+⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-+⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+⎪⎪⎪⎪⎪⎭⎫ ⎝⎛007/57/6107/97/1017/57/14321t k x x x x (k ,t 为任意常数)实验习题1.解方程组⎪⎩⎪⎨⎧=++=++=+-.024,02,032321321321x x x x x x x x x2.解方程组⎪⎩⎪⎨⎧=++-=++-=++-.0111784,02463,03542432143214321x x x x x x x x x x x x3. 解方程组⎪⎩⎪⎨⎧-=-+-=+-=-+-.22,3,44324314324321x x x x x x x x x x4.解方程组⎪⎩⎪⎨⎧=++-=+++=-++.254,32,22432143214321x x x x x x x x x x x x5.用三种方式求方程组⎪⎪⎩⎪⎪⎨⎧=-+=-+=-+=-+127875329934,8852321321321321x x x x x x x x x x x x 的唯一解.6.当b a ,为何值时,方程组⎪⎪⎩⎪⎪⎨⎧-=+++=--+-=++=+++1232)3(122043214324324321ax x x x b x x a x x x x x x x x 有唯一解、无解、有无穷多解?对后者求通解.实验4 投入产出模型(综合实验)实验目的 利用线性代数中向量和矩阵的运算, 线性方程组的求解等知识,成立在经济 分析中有重要应用的投入产出数学模型. 把握线性代数在经济分析方面的应用.应用举例假设某经济系统只分为五个物质生产部门:农业、轻工业、重工业、运输业和建筑业, 五个部门间某年生产分派关系的统计数据可列成下表1. 在该表的第一象限中,每一个部门都以生产者和消费者的双重身份显现. 从每一行看,该部门作为生产部门以自己的产品分派给各部门;从每一列看,该部门又作为消耗部门在生产进程中消耗各部门的产品. 行与列的交叉点是部门之间的流量,那个量也是以双重身份显现,它是行部门分派给列部门的产品量,也是列部门消耗行部门的产品量.表1投入产出平稳表(单位: 亿元)注: 最终产品舍去了净出口.(修改表:加双线区分为四个象限)在第二象限中,反映了各部门用于最终产品的部份. 从每一行来看,反映了该部门最终产 品的分派情形;从每一列看,反映了用于消费、积存等方面的最终产品别离由各部门提供的数 量情形.在第三象限中,反映了总产品中新制造的价值情形,从每一行来看,反映了各部门新制造 价值的组成情形;从每一列看,反映了该部门新制造的价值情形.采纳与第三章第七节完全相同的记号,可取得关于表1的产品平稳方程组y x A E =-)( (1)其中,A 为直接消耗系数矩阵,依照直接消耗系数的概念),,2,1,(n j i x x a jij ij ==,易求出表1所对应的直接消耗系数矩阵:⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛==⨯0603.00425.00372.00227.00371.00411.00250.00416.00240.00143.03425.02083.05013.01451.00923.00685.00417.00252.01438.00231.00329.00250.00462.02557.01709.01825110120051540620131297135101171825751200305406225312975351045182562512002505406271031294543510324182512512005054061363129450351081182560120030540625031298003510600)(55ij a A 利用Mathematica 软件(以下计算进程均用此软件实现,再也不重述),可计算出⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=--11036.10739105.00982964.00672149.00637761.00884203.005447.1100805.00594445.0035022.0859487.0529259.016653.2495145.032573.0122005.00752055.00006552.020166.10492156.0132248.00874144.015254.0402651.024175.1)(1A E 为方便分析,将上述列昂节夫逆矩阵列成表2.表2下面咱们来分析上表中各列诸元素的经济意义. 以第2列为例,假设轻工业部门提供的 最终产品为一个单位, 其余部门提供的最终产品均为零, 即最终产品的列向量为 ,)0,0,0,1,0(T y =于是,轻工业部门的单位最终产品对5个部门的直接消耗列向量为⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛==0227.00240.01451.01438.02557.0000100603.00425.00372.00227.00371.00411.00250.00416.00240.00143.03425.02083.05013.01451.00923.00685.00417.00252.01438.00231.00329.00250.00462.02557.01709.0)0(Ay x通过中间产品向量)0(x 产生的间接消耗为⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛==0205373.00146768.0129979.00327974.00885192.0)0()1(Ax x , ⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛==0107259.000867109.00881789.00120554.00305619.0)0(2)2(x A x⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛==00570305.000505222.0054254.000575796.00129491.0)0(3)3(x A x , ⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛==00318798.000294103.00322339.000309566.000650578.0)0(4)4(x A x于是,轻工业部门的单位最终产品对五个部门总产品的需求量为++++++=)4()3()2()1()0(x x x x x y x.0629.00553.04497.01975.13942.000318798.000294103.00322339.000309566.000650578.000570305.000505222.0054254.000575796.00129491.00107259.000867109.00881789.00120554.00305619.00205733.00146768.0129979.00327974.00885192.000010⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛≈+⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=其中向量x 为列昂惕夫逆矩阵1)(--A E 的第2列, 该列5个元素别离是部门2生产一个单位 最终产品对部门一、二、3、4、5总产品的需求量, 即总产品定额. 同理, 能够说明列昂节夫 逆矩阵中第一、3、4、5列别离是部门一、3、4、5生产一个单位最终产品对部门一、二、3、 4、5的总产品定额.对应于附表1的完全消耗系数矩阵⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=--=-11036.00739105.00982964.00672149.00637761.00884203.005447.0100805.00594445.0035022.0859487.0529259.016653.1495145.032573.0122005.00752055.00006552.020166.00492156.0132248.00874144.015254.0402651.024175.0)(1EA E B最终产品是外生变量, 即最终产品是由经济系统之外的因素决定的, 而内生变量是由经济系统内的因素决定的. 此刻假定政府部门依照社会进展和人民生活的需要对表1的最终产品作了修改, 最终产品的增加量别离为农业2%, 轻工业7%, 重工业5%, 运输业5%, 建筑业 4%, 写成最终产品增量的列向量为,)51,5.37,15.52,09.160,4.35(T y =∆那么产品的增加量x ∆可由式(8)近似计算到第5项, 得+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=+∆+∆+∆+∆+∆=∆515.3715.5209.1604.35515.3715.5209.1604.35515.3715.5209.1604.35515.3715.5209.1604.35515.375.5209.1604.35432)3()2()1()0(A A A A x x x x y x .)8033.744899.57169.238749.204083.121(T ≈其中,y A x ∆=∆)0(为各部门生产y ∆直接消耗各部门产品数量;而后面各项的和为各部门生 产y ∆的全数间接消耗的和.实验报告下表给出的是某城市某年度的各部门之间产品消耗量和外部需求量(均以产品价值计算, 单位: 万元), 表中每一行的数字是某一个部门提供给各部门和外部的产品价值.(1) 试列出投入—产出简表, 并求出直接消耗矩阵;(2) 依照预测, 从这一年度开始的五年内, 农业的外部需求每一年会下降1%, 轻工业和商业的外部需求每一年会递增6%, 而其它部门的外部需求每一年会递增3%, 试由此预测这五年内该城市和各部门的总产值的平均年增加率;(3) 编制第五年度的打算投入产出表.实验5 交通流模型(综合实验)实验目的利用线性代数中向量和矩阵的运算, 线性方程组的求解等知识,成立交通流模型. 把握线性代数在交通计划方面的应用.应用举例假设某城市部份单行街道的交通流量(每小时通过的车辆数)如图5-1所示.300 300 300+-432xxx=300+54xx=500-67xx=200+21xx=800+51xx=800+87xx=10009x=400-910xx=20010x=600++638xxx=1000⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧⎪排版时只保留图,不要方程组图5-1试成立数学模型确信该交通网络未知部份的具体流量.假定上述问题知足以下两个大体假设(1)全数流入网络的流量等于全数流出网络的流量;(2)全数流入一个节点的流量等于流出此节点的流量.那么依照图5-1及上述大体两个假设,可成立该问题的线性方程组⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎨⎧=++==+-==+=+=+=+-=+=+-1000600200400100080018002005003008631010998751217654432x x x x x x x x x x x x x x x x x x x x , 即 ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛---100060020040010008008002005003000010100110000000001100000000010000000000110000000000010001000000001100011000000000011000000000111010987654321x x x x x x x x x x 假设将上述矩阵方程记为b Ax =,那么问题就转化为求b Ax =的全数解. 下面咱们利用 Mathmatica 软件来求解一、输入矩阵A ,并利用RowReduce[A ]命令求得A 的秩为8. 输入RowReduce[A]⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛-00000000000000000000100000000001000000000011000000001010000000000110000000000100000001001000000100010=Ax 输入In[3]:=NullSpace[A]⎪⎪⎭⎫ ⎝⎛----00000110110011100000⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛--+⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--=+=00000110110011100000212211C C c c ξξη21,C C 3、输入增广阵(A b ),求出其秩为8, 由,108)()(=<==n Ab r A r 知方程组有无穷多个解.输入RowReduce[Ab]⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛-0000000000000000000006001000000000400010000000010000011000000800001010000050000000110002000000000100000000100108000000010001b Ax =输入 LinearSolve[A,b]Out[9]={{800},{0},{200},{500},{0},{800},{1000},{0},{400},{600}}那么取得所求非齐次线性方程组的一个特解:T )6004000100080005002000800(*=ξ综上所述,咱们就取得了非齐次线性方程组b Ax =的全数解为,*2211*ξξξξη++++=C C x (21,C C 为任意常数).在解的表示式中, x 的每一个分量即为交通网络中未知部份的具体流量, 该问题有无穷 多解(什么缘故? 并试探其实际意义).本模型具有实际应用价值, 求出该模型的解, 能够为交通计划设计部门提供解决交通堵 塞、车流运行不顺畅等问题的方式, 明白在何处应建设立交桥, 那条路应设计多宽等, 为城镇交通计划提供科学的指导意见. 可是,在本模型中,咱们只考虑了单行街道如此一种简单情形, 更复杂的情形留待读者在更高一级的课程中去研究. 另外,本模型还可推行到电路分析中的 网络节点流量等问题中.实验报告请读者应用本模型的思想方式, 为你所在或你熟悉的城镇成立一个区域的交通流量模 型. 并提供一个具体的解决方案, 即从无穷多个解中依照具体限制确信出一个具体的解决方 案.。

《数学实验》实验报告——用Mathematica使行初等变换化简矩阵

《数学实验》实验报告——用Mathematica使行初等变换化简矩阵
'
' ' ' b1 2a1 a2 , b2 ' a1' a2 ' , b3 a1 a2
'
'
'

b ∴ 1
2a1 a2 , b2 a1 a2 , b3 a1 a2
b3 能用 a1 , a2 表示。
∴ b1 , b2
再作矩阵 B = (b1 , b 2 , b 3 a 1 ,a 2 ) ,对 B 是施行行变换使 b3 , b 2 , b1 尽量简化,输 入命令: b=Transpose[{{3,9,12},{2,5,7},{0,3,3},{1,4,5},{1,1,2}}] b//MatrixForm RowReduce[b] //MatrixForm 计算结果为:
《数学实验》实验报告
班级 试验 内容
****
学号
****
姓名 试
用 Mathematica 使行初等变换化简矩阵
自选试验
2011.6.7
试验问题: 设 有 两 组 向 量 a1 (1,4,5) , a2 (1,1,2) , 和 向 量 组 b1 (3,9,12) ,
b2 (2,5,7) , b3 (0,3,3) ,判定这两组向量是否等价.
试验目的: 通过行初等变换化简矩阵的功能间接求得向量组的极大无关组,进而判断 这两组向量是否等价,从中了解 Mathematica 在高等代数中的应用。 问题分析(可含问题的背景、相关知识、数学建模与求解的方法等) : Mathematica 中,没有提供求向量组的极大无关组的功能,但是提供了用 行初等变换化简矩阵的功能:行简化矩阵: RowReduce[A] 我们可以用此功能来求向量的极大无关组,因为我们有结论:矩阵的行变换不 改变列的线性关系。 试验步骤(根据问题分析及试验目的所计划的试验步骤) :

mathematica 行向量 列向量 矩阵 -回复

mathematica 行向量 列向量 矩阵 -回复

mathematica 行向量列向量矩阵-回复"Mathematica:行向量、列向量与矩阵"Mathematica是一种功能强大的数学软件,常用于数值计算、符号计算、数据分析和可视化等各个领域。

在数学中,行向量、列向量和矩阵是非常重要的概念。

本文将以这些概念为主题,逐步介绍它们在Mathematica 中的应用。

第一节:行向量行向量是一种包含多个元素的数学对象,这些元素按顺序排列成一行。

在Mathematica中,行向量可以通过{}大括号实现。

例如,行向量{1, 2, 3, 4, 5}表示一个包含5个元素的行向量。

除了直接输入元素构成的行向量外,我们还可以使用Range函数来生成行向量。

例如,Range[1, 5]将生成行向量{1, 2, 3, 4, 5}。

在Mathematica中,我们可以对行向量进行各种操作。

例如,我们可以使用MatrixForm函数将行向量以矩阵形式显示出来。

若有一个行向量vec={1, 2, 3, 4, 5},则输入MatrixForm[vec],Mathematica会将该行向量以矩阵形式显示。

第二节:列向量列向量与行向量类似,不同之处在于元素按列排列而不是按行排列。

在Mathematica中,列向量可以通过Transpose函数将行向量转置得到。

例如,假设colVec={1, 2, 3, 4, 5}是一个列向量,我们可以使用Transpose[colVec]将其转置为行向量{1, 2, 3, 4, 5}。

同样地,我们也可以使用MatrixForm函数将列向量进行矩阵形式的显示。

例如,若有列向量colVec={1, 2, 3, 4, 5},输入MatrixForm[colVec],Mathematica会将其以矩阵形式显示。

第三节:矩阵矩阵是由多行多列元素按规律形成的二维数组。

在Mathematica中,矩阵可以通过使用{}大括号和嵌套的{}来表示。

mathematica 行向量 列向量 矩阵

mathematica 行向量 列向量 矩阵

mathematica 行向量列向量矩阵摘要:一、Mathematica软件简介二、行向量与列向量1.定义及特点2.基本操作与运算三、矩阵的概念与运算1.矩阵的定义2.矩阵的分类3.矩阵的运算4.矩阵的性质四、Mathematica在矩阵运算中的应用实例五、总结与展望正文:【一、Mathematica软件简介】Mathematica是一款功能强大的数学软件,自1988年问世以来,广泛应用于科学计算、数据分析、教育等领域。

它具有丰富的函数库,能解决诸如线性代数、微积分、概率统计等各种数学问题。

在本文中,我们将重点探讨Mathematica在向量、矩阵运算方面的应用。

【二、行向量与列向量】行向量和列向量是线性代数中的基本概念。

在Mathematica中,行向量和列向量分别表示为rows和columns。

【1.定义及特点】行向量:一个由n个元素组成的1×n矩阵,其中n为自然数。

行向量有n 个分量,分别表示该向量在各个方向上的分量值。

列向量:一个由n个元素组成的n×1矩阵,其中n为自然数。

列向量有n 个分量,分别表示该向量在每个方向上的分量值。

【2.基本操作与运算】在Mathematica中,行向量和列向量的基本操作与运算主要包括以下几点:1.加法:两个向量相加,结果为一个新向量,其元素为两个向量对应分量之和。

2.减法:两个向量相减,结果为一个新向量,其元素为两个向量对应分量之差。

3.数乘:向量与实数相乘,结果为一个新向量,其元素为原向量对应分量乘以实数。

4.标量积:两个向量的标量积为一个实数,等于两个向量对应分量的乘积之和。

5.向量积:两个向量的向量积为一个新向量,其分量依次为两个向量对应分量的向量积。

【三、矩阵的概念与运算】矩阵是线性代数中的核心概念,它可以看作是一个由行向量或列向量组成的矩形阵列。

在Mathematica中,矩阵表示为一个二维数组。

【1.矩阵的定义】矩阵是一个m×n的矩阵,其中m表示矩阵的行数,n表示矩阵的列数。

Mathematica教程第五章线性代数运算命令与例题

Mathematica教程第五章线性代数运算命令与例题
第五章 线性代数运算命令与例题
北京交通大学
5.1向量与矩阵的定义
数学上矩阵是这样定义的: 由个数排成m行n列的数表:
称为m行n列矩阵,特别,当m=1时就是线性代数中的向量。 记作:
两个矩阵称为同型矩阵。
nSinS6inS5inS4Sini3nSi2nS7inS6inS5Sini4nSi3nS8inS7inS6in5Sin4SinS6inS5inS4Sini3nSi2nS7inS6inS5Sini4nSi3nS8inS7inS6in5S4inSinS6inS5inS4Sini3nSi2nS7inS6inS5Sini4nSi3nS8inS7inS6in5Sin4SinS6inS5inS4Sini3nSi2nS7inS6inS5Sini4nSi3nS8inS7inS6in5Sin4SinS6inS5inS4Sini3nSi2nS7inS6inS5Sini4nSi3nS8inS7inS6in5S4inSinS6inS5inS4Sini3nSi2nS7inS6inS5Sini4nSi3nS8inS7inS6inS5inS4inS6inS5inS4Sini3nSi2nS7inS6inS5Sini4nSi3nS8inS7inS6in5S4inSinS6inS5inS4Sini3nSi2nS7inS6inS5Sini4nS
{{d,b}{,c, a}
Out[20]:={a + 2 b, 3 a + 4 b, 5 a + 6 b}
1 2 3
4
bacdbacdbac{d{bdac,db}{,c, a}
例15:求矩阵
2 1
3 1
1 1
与 2
1
的乘积。
bacdbacdbacdbacd
1

mathematica 行向量 列向量 矩阵

mathematica 行向量 列向量 矩阵

mathematica 行向量列向量矩阵摘要:一、引言二、mathematica 简介三、行向量与列向量四、矩阵的定义及性质五、mathematica 在矩阵运算中的应用六、总结正文:一、引言Mathematica 是一款强大的数学软件,广泛应用于科学、工程、数学等领域。

在Mathematica 中,行向量、列向量和矩阵是基本的数学概念,对于理解和使用该软件具有重要的意义。

本文将介绍这些概念及其在Mathematica 中的应用。

二、mathematica 简介Mathematica 是一款由美国著名数学软件公司Wolfram Research 开发的数学软件,自1988 年问世以来,已经发展成为全球最著名的数学软件之一。

Mathematica 具有强大的计算功能,可以解决各种数学问题,包括代数、几何、微积分、概率统计等各个领域。

三、行向量与列向量在Mathematica 中,向量是基本的数学对象,可以表示为一个有序的元素集合。

根据元素的排列方式,向量可以分为行向量和列向量。

行向量是一个一维数组,其中元素的排列方式类似于矩阵的行;列向量是一个一维数组,其中元素的排列方式类似于矩阵的列。

例如,在二维平面中,一个点的坐标可以表示为一个行向量或列向量。

四、矩阵的定义及性质矩阵是Mathematica 中的重要概念,可以表示为具有特定行和列的一个二维数组。

矩阵具有以下基本性质:1.矩阵是一个二维数组,由行和列组成;2.矩阵的行数和列数决定了其维度;3.矩阵的元素可以是实数、复数或符号;4.矩阵具有加法、减法、乘法等基本运算。

在Mathematica 中,矩阵的运算非常方便,可以通过内置函数进行计算。

例如,求矩阵的行列式、逆矩阵、秩等操作都可以通过Mathematica 内置的函数轻松实现。

五、mathematica 在矩阵运算中的应用Mathematica 在矩阵运算中的应用非常广泛,包括线性方程组求解、特征值计算、矩阵分解等。

mathematica矩阵相乘

mathematica矩阵相乘

mathematica矩阵相乘Mathematica是一种强大的数学软件,其中的矩阵相乘功能可以帮助我们进行矩阵运算。

矩阵相乘是线性代数中的重要概念之一,它可以帮助我们解决各种实际问题。

我们来看看什么是矩阵相乘。

矩阵相乘是指将两个矩阵进行运算,得到一个新的矩阵的过程。

在Mathematica中,我们可以使用Dot 函数来进行矩阵相乘运算。

在Mathematica中,我们可以用以下的方式定义一个矩阵:m1 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};m2 = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}};这样我们就定义了两个3x3的矩阵m1和m2。

接下来,我们可以使用Dot函数将这两个矩阵进行相乘运算:result = Dot[m1, m2];运行以上代码后,我们可以得到一个新的矩阵result,它是矩阵m1和m2相乘的结果。

我们可以使用MatrixForm函数来美化输出结果:MatrixForm[result]矩阵相乘的结果如下所示:10 8 628 23 1846 38 30矩阵相乘的运算规则是:两个矩阵相乘,要求第一个矩阵的列数等于第二个矩阵的行数。

相乘后的矩阵的行数等于第一个矩阵的行数,列数等于第二个矩阵的列数。

如果不满足这个条件,矩阵相乘将无法进行。

矩阵相乘在实际应用中有着广泛的应用。

例如,在计算机图形学中,我们可以使用矩阵相乘来进行坐标变换。

在机器学习中,矩阵相乘可以帮助我们进行特征提取和数据降维。

在网络推荐系统中,矩阵相乘可以帮助我们计算用户的偏好和物品的相似度。

除了矩阵相乘,Mathematica还提供了其他一些与矩阵相关的功能。

例如,我们可以使用Transpose函数来进行矩阵的转置操作。

我们也可以使用Eigenvalues和Eigenvectors函数来计算矩阵的特征值和特征向量。

这些功能可以帮助我们更好地理解和分析矩阵。

总结一下,Mathematica提供了强大的矩阵相乘功能,可以帮助我们进行矩阵运算。

mathematica矩阵运算

mathematica矩阵运算

理 工 数 学 实 验
四、例子
简单操作过程
1.In[1]:=A={{-2,5,-1,3},{1,-9,13,7},{3,-1,5,-5},{2,8,-7,-10}} MatrixForm[A] Out[1]:={{-2,5,-1,3},{1,-9,13,7},{3,-1,5,-5},{2,8,-7,-10}} Out[2]//MatrixForm= In[3]:=Det[A] Out[3]:=312 2.In[4]:B=Transpose[A] MatrixForm[B] Out[4]:={{-2,1,3,2},{5,-9,-1,8},{-1,13,5,-7},{3,7,-5,-10}}
4 4
3 1 1 3 5 3 Out[20]:= {{ , ,− },{2,−2,2},{− , ,− }} 4 4 4 4 2 4
理 工 数 学 实
五、思考与练习
已知矩阵
4 −1 1 9 10 3 6 5 0 7 4 − 16 1 − 4 7 −1 6 − 8 A= 2 − 4 5 − 6 12 − 8 − 3 6 − 7 8 − 1 1 1 3 0 8 −4 9 1 7 8 B= 10 12 2 2 9 11 15 19 4 4 16 20 28 36 6 6 −5 1 13 25 −3 −3 8 5 −1 −7 0 2 − 7 5 9 23 5

求:(1) A'; (2)A-1;(3)A*B.
理 工 数 学
理工数学实验


线性代数基础实验2
——矩阵初等变换
理 工 数 学 实 验
一、实验内容
对矩阵作各种变化,初等变换
二、实验目的
1.复习并掌握矩阵初等变换的方法. 2.换的相关命令.

矩阵运算及方程组求解

矩阵运算及方程组求解

附录Ⅰ 大学数学实验指导书项目五 矩阵运算与方程组求解实验1 行列式与矩阵实验目的掌握矩阵的输入方法. 掌握利用Mathematica (4.0以上版本) 对矩阵进行转置、加、减、数乘、相乘、乘方等运算, 并能求矩阵的逆矩阵和计算方阵的行列式.基本命令在Mathematica 中, 向量和矩阵是以表的形式给出的.1. 表在形式上是用花括号括起来的若干表达式, 表达式之间用逗号隔开. 如输入{2,4,8,16} {x,x+1,y,Sqrt[2]}则输入了两个向量.2. 表的生成函数(1) 最简单的数值表生成函数Range, 其命令格式如下:Range[正整数n]—生成表{1,2,3,4,…,n }; Range[m, n]—生成表{m ,…,n };Range[m, n, dx]—生成表{m ,…,n }, 步长为d x . 2. 通用表的生成函数Table. 例如,输入命令Table[n^3,{n,1,20,2}]则输出 {1,27,125,343,729,1331,2197,3375,4913,6859}输入Table[x*y,{x,3},{y,3}]则输出 {{1,2,3},{2,4,6},{3,6,9}}3. 表作为向量和矩阵一层表在线性代数中表示向量, 二层表表示矩阵. 例如,矩阵⎪⎪⎭⎫ ⎝⎛5432 可以用数表{{2,3},{4,5}}表示.输入A={{2,3},{4,5}}则输出 {{2,3},{4,5}}命令MatrixForm[A]把矩阵A 显示成通常的矩阵形式. 例如,输入命令:MatrixForm[A]则输出 ⎪⎪⎭⎫⎝⎛5432注:一般情况下,MatrixForm[A]所代表的矩阵A 不能参与运算. 下面是一个生成抽象矩阵的例子. 输入Table[a[i,j],{i,4},{j,3}] MatrixForm[%]则输出⎪⎪⎪⎪⎪⎭⎫ ⎝⎛]3,4[]2,4[]1,4[]3,3[]2,3[]1,3[]3,2[]2,2[]1,2[]3,1[]2,1[]1,1[a a a a a a a a a a a a注:这个矩阵也可以用命令Array 生成,如输入Array[a,{4,3}]//MatrixForm则输出与上一命令相同.4. 命令IdentityMatrix[n]生成n 阶单位矩阵. 例如,输入IdentityMatrix[5]则输出一个5阶单位矩阵(输出略).5. 命令DiagonalMatrix[…]生成n 阶对角矩阵. 例如,输入DiagonalMatrix[{b[1],b[2],b[3]}]则输出 {{b[1],0,0},{0,b[2],0},{0,0,b[3]}}它是一个以b[1], b[2], b[3]为主对角线元素的3阶对角矩阵.6. 矩阵的线性运算:A+B 表示矩阵A 与B 的加法;k*A 表示数k 与矩阵A 的乘法; A.B 或 Dot[A,B]表示矩阵A 与矩阵B 的乘法.7. 求矩阵A 的转置的命令:Transpose[A]. 8. 求方阵A 的n 次幂的命令:MatrixPower[A,n]. 9. 求方阵A 的逆的命令:Inverse[A].10.求向量a 与b 的内积的命令:Dot[a,b].实验举例矩阵的运算例1.1 设,421140123,321111111⎪⎪⎪⎭⎫ ⎝⎛--=⎪⎪⎪⎭⎫ ⎝⎛--=B A 求A AB 23-及.B A T输入A={{1,1,1},{1,1,1},{1,2,3}}MatrixForm[A] B={{3,2,1},{0,4,1},{1,2,4}}MatrixForm[B] 3A.B2A//MatrixFormTranspose[A].B//MatrixForm则输出A AB 23-及B A T 的运算结果分别为⎪⎪⎪⎭⎫ ⎝⎛-----334421424141010⎪⎪⎪⎭⎫⎝⎛----10120821444求方阵的逆 例1.2 设,5123641033252312⎪⎪⎪⎪⎪⎭⎫⎝⎛=A 求.1-A 输入Clear[ma]ma={{2,1,3,2},{5,2,3,3},{0,1,4,6},{3,2,1,5}}; Inverse[ma]//MatrixForm则输出⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--------1652116114581081218192829211161121162147 求方阵的行列式例1.3 求.11111111111122222222ddd d c c c c b b b b a a a a D ++++=输入Clear[A,a,b,c,d];A={{a^2+1/a^2,a,1/a,1},{b^2+1/b^2,b,1/b,1}, {c^2+1/c^2,c,1/c,1},{d^2+1/d^2,d,1/d,1}}; Det[A]//Simplify则输出2222)1)()()()()()((d c b a abcd d c d b d a c b c a b a +--------例1.4 设矩阵 ,60975738723965110249746273⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛----=A 求.),(|,|3A A tr A 输入 A={{3,7,2,6,4},{7,9,4,2,0},{11,5,6,9,3},{2,7,8,3,7},{5,7,9,0,6}}MatrixForm[A]Det[A] Tr[A]MatrixPower[A,3]//MatrixForm则输出3),(|,|A A tr A 分别为11592 3⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛---12574547726668013841222451984174340410063122181713228151626315018483582949442062726实验习题11.设,150421321,111111111⎪⎪⎪⎭⎫ ⎝⎛--=⎪⎪⎪⎭⎫ ⎝⎛--=B A 求A AB 23-及.B A '2.设,001001⎪⎪⎪⎭⎫ ⎝⎛=λλλA 求.10A 一般地?=k A (k 是正整数).3.求⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+++++a a a aa 1111111111111111111111111的逆.4.设,321011324⎪⎪⎪⎭⎫ ⎝⎛-=A 且,2B A AB +=求.B5.利用逆矩阵解线性方程组⎪⎩⎪⎨⎧=++=++=++.353,2522,132321321321x x x x x x x x x实验2 矩阵的秩与向量组的最大无关组实验目的 学习利用Mathematica(4.0以上版本)求矩阵的秩,作矩阵的初等行变换; 求向量组的秩与最大无关组.基本命令1. 求矩阵M 的所有可能的k 阶子式组成的矩阵的命令:Minors[M,k].2. 把矩阵A 化作行最简形的命令:RowReduce[A].3. 把数表1,数表2, …,合并成一个数表的命令:Join[list1,list2,…]. 例如输入Join[{{1,0,1},{3,2,1}},{{1,5},{4,6}}]则输出 {{1,0,1},{3,2,1},{1,5},{4,6}}实验举例求矩阵的秩例2.1 设,815073*********⎪⎪⎪⎭⎫ ⎝⎛-------=M 求矩阵M 的秩.输入Clear[M]; M={{3,2,1,3,2},{2,1,3,1,3},{7,0,5,1,8}};Minors[M,2]则输出{{7,11,9,5,5,1,8,8,9,11},{14,22,18,10,10,2, 16,16,18,22},{7,11,9,5,5,1,8,8,9,11}}可见矩阵M 有不为0的二阶子式. 再输入Minors[M,3]则输出{{0,0,0,0,0,0,0,0,0,0}}可见矩阵M 的三阶子式都为0. 所以.2)(=M r例2.2 求矩阵⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-----3224211631095114047116的行最简形及其秩.输入A={{6,1,1,7},{4,0,4,1},{1,2,9,0},{1,3,16,1},{2,4,22,3}}MatrixForm[A]RowReduce[A]//MatrixForm则输出矩阵A 的行最简形⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-0000000100005100101根据矩阵的行最简形,便得矩阵的秩为3.矩阵的初等行变换例2.3 用初等变换法求矩阵.343122321⎪⎪⎪⎭⎫ ⎝⎛的逆矩阵.输入 A={{1,2,3},{2,2,1},{3,4,3}}MatrixForm[A]Transpose[Join[Transpose[A],IdentityMatrix[3]]]//MatrixForm RowReduce[%]//MatrixForm Inverse[A]//MatrixForm则输出矩阵A 的逆矩阵为⎪⎪⎪⎭⎫ ⎝⎛---1112/532/3231向量组的秩例2.4 向量组)7,5,1,3(),5,4,3,1(),1,1,1,1(),3,2,1,1(4321==-==αααα是否线性相关? 输入Clear[A]; A={{1,1,2,3},{1,1,1,1},{1,3,4,5},{3,1,5,7}};RowReduce[A]//MatrixForm则输出⎪⎪⎪⎪⎪⎭⎫⎝⎛0000010010102001向量组包含四个向量, 而它的秩等于3, 因此, 这个向量组线性相关.向量组的最大无关组 例2.5 求向量组)0,5,1,2(),0,2,1,1(),14,7,0,3(),2,1,3,0(),4,2,1,1(54321=-===-=ααααα的最大无关组, 并将其它向量用最大无关组线性表示.输入Clear[A,B]; A={{1,1,2,4},{0,3,1,2},{3,0,7,14},{1,1,2,0},{2,1,5,0}};B=Transpose[A];RowReduce[B]//MatrixForm则输出⎪⎪⎪⎪⎪⎭⎫⎝⎛-000002/51000101102/10301在行最简形中有三个非零行, 因此向量组的秩等于3. 非零行的首元素位于第一、二、 四列,因此421,,ααα是向量组的一个最大无关组. 第三列的前两个元素分别是3,1,于是.3213ααα+=第五列的前三个元素分别是,25,1,21-于是.25214215αααα++-=实验习题1.求矩阵⎪⎪⎪⎪⎪⎭⎫⎝⎛----=12412116030242201211A 的秩.2.求t , 使得矩阵⎪⎪⎪⎭⎫ ⎝⎛-=t A 23312231的秩等于2.3.求向量组)0,0,1(),1,1,1(),1,1,0(),1,0,0(4321====αααα的秩.4.当t 取何值时, 向量组),3,1(),3,2,1(),1,1,1(321t ===ααα的秩最小?5.向量组)1,1,1,1(),1,1,1,1(),1,1,1,1(),1,1,1,1(4321-=--=--==αααα是否线性相关?6.求向量组)6,5,4,3(),5,4,3,2(),4,3,2,1(321===ααα的最大线性无关组. 并用最大无关 组线性表示其它向量.7.设向量),6,3,3,2(),6,3,0,3(),18,3,3,8(),0,6,3,1(2121=-=-=-=ββαα求证:向量组21,αα与21,ββ等价.实验3 线性方程组实验目的 熟悉求解线性方程组的常用命令,能利用Mathematica 命令各类求线性方程 组的解. 理解计算机求解的实用意义.基本命令1.命令NullSpace []A ,给出齐次方程组0=AX 的解空间的一个基.2.命令LinearSolve []b A ,,给出非齐次线性方程组b AX =的一个特解.3.解一般方程或方程组的命令Solve 见Mathematica 入门.实验举例求齐次线性方程组的解空间设A 为n m ⨯矩阵,X 为n 维列向量,则齐次线性方程组0=AX 必定有解. 若矩阵A 的 秩等于n ,则只有零解;若矩阵A 的秩小于n ,则有非零解,且所有解构成一向量空间. 命令 NullSpace 给出齐次线性方程组0=AX 的解空间的一个基.例3.1 求解线性方程组⎪⎪⎩⎪⎪⎨⎧=---=++=+--=--+.0532,0375,023,02432143243214321x x x x x x x x x x x x x x x输入Clear[A]; A={{1,1,2,1},{3,2,1,2},{0,5,7,3},{2,3,5,1}};NullSpace[A]则输出{{2,1,2,3}}说明该齐次线性方程组的解空间是一维向量空间,且向量(2,1,2,3)是解空间的基.注:如果输出为空集{ },则表明解空间的基是一个空集,该方程组只有零解.例3.2 向量组)7,5,1,3(),5,4,3,1(),1,1,1,1(),3,2,1,1(4321==-==αααα是否线性相关? 根据定义,如果向量组线性相关,则齐次线性方程组044332211='+'+'+'ααααx x x x 有非零解.输入Clear[A,B]; A={{1,1,2,3},{1,1,1,1},{1,3,4,5},{3,1,5,7}};B=Transpose[A]; NullSpace[B]输出为{{2,1,0,1}}说明向量组线性相关,且02421=+--ααα非齐次线性方程组的特解例3.3 求线性方程组⎪⎪⎩⎪⎪⎨⎧=----=++=+--=--+45322375222342432143243214321x x x x x x x x x x x x x x x 的特解.输入Clear[A,b]; A={{1,1,2,1},{3,2,1,2},{0,5,7,3},{2,3,5,1}};b={4,2,2,4} LinearSolve[A,b]输出为{1,1,1,0}注: 命令LinearSolve 只给出线性方程组的一个特解.例3.4 求出通过平面上三点(0,7),(1,6)和(2,9)的二次多项式,2c bx ax ++并画出其图形.根据题设条件有 ,924611700⎪⎩⎪⎨⎧=+⋅+⋅=+⋅+⋅=+⋅+⋅c b a c b a c b a 输入Clear[x];A={{0,0,1},{1,1,1},{4,2,1}} y={7,6,9}p=LinearSolve[A,y]Clear[a,b,c,r,s,t];{a,b,c}.{r,s,t} f[x_]=p.{x^2,x,1};Plot[f[x],{x,0,2},GridLines>Automatic,PlotRange>All];则输出c b a ,,的值为 {2,3,7}并画出二次多项式7322+-x x 的图形(略).非齐次线性方程组的通解用命令Solve 求非齐次线性方程组的通解.例3.5当a 为何值时,方程组⎪⎩⎪⎨⎧=++=++=++111321321321ax x x x ax x x x ax 无解、有唯一解、有无穷多解?当方程组有解时,求通解.先计算系数行列式,并求a ,使行列式等于0. 输入Clear[a];Det[{{a,1,1},{1,a,1},{1,1,a}}]; Solve[%0,a]则输出{{a →2},{a →1},{a →1}}当a 2-≠,a 1≠时,方程组有唯一解.输入Solve[{a*xy z1,x a*yz1,x ya*z1},{x,y,z}]则输出{{x →,21a + y →,21a+ z →a +21}}当a2时,输入 Solve[{2x+y+z==1,x2y+z==1,x+y2z==1},{x,y,z}]则输出{ }说明方程组无解. 当a =1时,输入Solve[{x+y+z==1,x+y+z==1,x+y+z==1},{x,y,z}]则输出{{x →1y z}}}说明有无穷多个解.非齐次线性方程组的特解为(1,0,0),对应的齐次线性方程组的基础解 系为为(1,1,0)与(1,0,1).例3.6 求非齐次线性方程组 ⎪⎩⎪⎨⎧-=+-+=-+-=+-+2534422312432143214321x x x x x x x x x x x x 的通解.解法1输入A={{2,1,1,1},{3,2,1,3},{1,4,3,5}};b={1,4,2};particular=LinearSolve[A,b] nullspacebasis=NullSpace[A]generalsolution=t*nullspacebasis[[1]]+k*nullspacebasis[[2]]+Flatten[particular]generalsolution//MatrixForm解法2输入B={{2,1,1,1,1},{3,2,1,3,4},{1,4,3,5,2}}RowReduce[B]//MatrixForm根据增广矩阵的行最简形,易知方程组有无穷多解. 其通解为⎪⎪⎪⎪⎪⎭⎫⎝⎛-+⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-+⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+⎪⎪⎪⎪⎪⎭⎫ ⎝⎛007/57/6107/97/1017/57/14321t k x x x x (k ,t 为任意常数) 实验习题1.解方程组⎪⎩⎪⎨⎧=++=++=+-.024,02,032321321321x x x x x x x x x2.解方程组⎪⎩⎪⎨⎧=++-=++-=++-.0111784,02463,03542432143214321x x x x x x x x x x x x3. 解方程组⎪⎩⎪⎨⎧-=-+-=+-=-+-.22,3,44324314324321x x x x x x x x x x4.解方程组⎪⎩⎪⎨⎧=++-=+++=-++.254,32,22432143214321x x x x x x x x x x x x5.用三种方法求方程组⎪⎪⎩⎪⎪⎨⎧=-+=-+=-+=-+127875329934,8852321321321321x x x x x x x x x x x x 的唯一解.6.当b a ,为何值时,方程组⎪⎪⎩⎪⎪⎨⎧-=+++=--+-=++=+++1232)3(122043214324324321ax x x x b x x a x x x x x x x x 有唯一解、无解、有无穷多解?对后 者求通解.实验4 投入产出模型(综合实验)实验目的 利用线性代数中向量和矩阵的运算, 线性方程组的求解等知识,建立在经济 分析中有重要应用的投入产出数学模型. 掌握线性代数在经济分析方面的应用.应用举例假设某经济系统只分为五个物质生产部门:农业、轻工业、重工业、运输业和建筑业, 五 个部门间某年生产分配关系的统计数据可列成下表 1. 在该表的第一象限中,每一个部门都以生产者和消费者的双重身份出现. 从每一行看,该部门作为生产部门以自己的产品分配给各部门;从每一列看,该部门又作为消耗部门在生产过程中消耗各部门的产品. 行与列的交叉点是部门之间的流量,这个量也是以双重身份出现,它是行部门分配给列部门的产品量,也是列部门消耗行部门的产品量.表1投入产出平衡表(单位: 亿元)注: 最终产品舍去了净出口.(修改表:加双线区分为四个象限)在第二象限中,反映了各部门用于最终产品的部分. 从每一行来看,反映了该部门最终产品的分配情况;从每一列看,反映了用于消费、积累等方面的最终产品分别由各部门提供的数 量情况.在第三象限中,反映了总产品中新创造的价值情况,从每一行来看,反映了各部门新创造 价值的构成情况;从每一列看,反映了该部门新创造的价值情况.采用与第三章第七节完全相同的记号,可得到关于表1的产品平衡方程组y x A E =-)( (1)其中,A 为直接消耗系数矩阵,根据直接消耗系数的定义),,2,1,(n j i x x a jij ij ==,易求出表1所对应的直接消耗系数矩阵:⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛==⨯0603.00425.00372.00227.00371.00411.00250.00416.00240.00143.03425.02083.05013.01451.00923.00685.00417.00252.01438.00231.00329.00250.00462.02557.01709.01825110120051540620131297135101171825751200305406225312975351045182562512002505406271031294543510324182512512005054061363129450351081182560120030540625031298003510600)(55ij a A 利用Mathematica 软件(以下计算过程均用此软件实现,不再重述),可计算出⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=--11036.10739105.00982964.00672149.00637761.00884203.005447.1100805.00594445.0035022.0859487.0529259.016653.2495145.032573.0122005.00752055.00006552.020166.10492156.0132248.00874144.015254.0402651.024175.1)(1A E 为方便分析,将上述列昂节夫逆矩阵列成表2.表2下面我们来分析上表中各列诸元素的经济意义. 以第2列为例,假设轻工业部门提供的 最终产品为一个单位, 其余部门提供的最终产品均为零, 即最终产品的列向量为,)0,0,0,1,0(T y =于是,轻工业部门的单位最终产品对5个部门的直接消耗列向量为⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛==0227.00240.01451.01438.02557.0000100603.00425.00372.00227.00371.00411.00250.00416.00240.00143.03425.02083.05013.01451.00923.00685.00417.00252.01438.00231.00329.00250.00462.02557.01709.0)0(Ay x通过中间产品向量)0(x 产生的间接消耗为⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛==0205373.00146768.0129979.00327974.00885192.0)0()1(Ax x , ⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛==0107259.000867109.00881789.00120554.00305619.0)0(2)2(x A x⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛==00570305.000505222.0054254.000575796.00129491.0)0(3)3(x A x , ⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛==00318798.000294103.00322339.000309566.000650578.0)0(4)4(x A x于是,轻工业部门的单位最终产品对五个部门总产品的需求量为++++++=)4()3()2()1()0(x x x x x y x.0629.00553.04497.01975.13942.000318798.000294103.00322339.000309566.000650578.000570305.000505222.0054254.000575796.00129491.00107259.000867109.00881789.00120554.00305619.00205733.00146768.0129979.00327974.00885192.000010⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛≈+⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=其中向量x 为列昂惕夫逆矩阵1)(--A E 的第2列, 该列5个元素分别是部门2生产一个单位最终产品对部门1、2、3、4、5总产品的需求量, 即总产品定额. 同理, 可以解释列昂节夫 逆矩阵中第1、3、4、5列分别是部门1、3、4、5生产一个单位最终产品对部门1、2、3、 4、5的总产品定额.对应于附表1的完全消耗系数矩阵⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=--=-11036.00739105.00982964.00672149.00637761.00884203.005447.0100805.00594445.0035022.0859487.0529259.016653.1495145.032573.0122005.00752055.00006552.020166.00492156.0132248.00874144.015254.0402651.024175.0)(1EA EB 最终产品是外生变量, 即最终产品是由经济系统以外的因素决定的, 而内生变量是由经济系统内的因素决定的. 现在假定政府部门根据社会发展和人民生活的需要对表1的最终产品作了修改, 最终产品的增加量分别为农业2%, 轻工业7%, 重工业5%, 运输业5%, 建筑业4%, 写成最终产品增量的列向量为,)51,5.37,15.52,09.160,4.35(T y =∆则产品的增加量x ∆可由式(8)近似计算到第5项, 得+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=+∆+∆+∆+∆+∆=∆515.3715.5209.1604.35515.3715.5209.1604.35515.3715.5209.1604.35515.3715.5209.1604.35515.375.5209.1604.35432)3()2()1()0(A A A A x x x x y x .)8033.744899.57169.238749.204083.121(T ≈其中,y A x ∆=∆)0(为各部门生产y ∆直接消耗各部门产品数量;而后面各项的和为各部门生 产y ∆的全部间接消耗的和.实验报告下表给出的是某城市某年度的各部门之间产品消耗量和外部需求量(均以产品价值计算,单位: 万元), 表中每一行的数字是某一个部门提供给各部门和外部的产品价值.农业轻工业重工业建筑业运输业商业外部需求农业45.0162.0 5.29.00.810.1151.9轻工业27.0162.0 6.4 6.00.660.0338.0重工业30.830.052.025.015.014.043.2建筑业0.00.60.20.2 4.820.054.2运输业 1.6 5.7 3.9 2.4 1.2 2.133.1商业16.032.3 5.5 4.212.6 6.1243.3(1) 试列出投入—产出简表, 并求出直接消耗矩阵;(2) 根据预测, 从这一年度开始的五年内, 农业的外部需求每年会下降1%, 轻工业和商业的外部需求每年会递增6%, 而其它部门的外部需求每年会递增3%, 试由此预测这五年内该城市和各部门的总产值的平均年增长率;(3) 编制第五年度的计划投入产出表.实验5 交通流模型(综合实验)实验目的利用线性代数中向量和矩阵的运算, 线性方程组的求解等知识,建立交通流模型. 掌握线性代数在交通规划方面的应用.应用举例假设某城市部分单行街道的交通流量(每小时通过的车辆数)如图51所示.300300300500200400600400100200500x2x3x1x5x4x7x9x10x8x6+-432xxx=300+54xx=500-67xx=200+21xx=800+51xx=800+87xx=10009x=400-910xx=20010x=600++638xxx=1000⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧⎪排版时只保留图,不要方程组图51试建立数学模型确定该交通网络未知部分的具体流量.假定上述问题满足下列两个基本假设(1)全部流入网络的流量等于全部流出网络的流量; (2)全部流入一个节点的流量等于流出此节点的流量. 则根据图51及上述基本两个假设,可建立该问题的线性方程组⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎨⎧=++==+-==+=+=+=+-=+=+-1000600200400100080018002005003008631010998751217654432x x x x x x x x x x x x x x x x x x x x , 即 ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛---10006002004001000800800200500300001010101000000000110000000001000000000011000000000001000100000000110001100000000001100000000111010987654321x x x x x x x x x x 若将上述矩阵方程记为b Ax =,则问题就转化为求b Ax =的全部解. 下面我们利用 Mathmatica 软件来求解1、输入矩阵A ,并利用RowReduce[A ]命令求得A 的秩为8. 输入RowReduce[A]//MatrixForm Out[2]//MatrixForm=则输出⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛-00000000000000000000100000000001000000000011000000001010000000000110000000000100000001001000000100012、应用命令NullSpace[A]求出齐次线性方程组0=Ax 的基础解系.输入In[3]:=NullSpace[A]//MatrixFormOut[3]//MatrixForm=则输出⎪⎪⎭⎫ ⎝⎛----00000110110011100000 由此即得到所求齐次线性方程组的基础解系:⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--+⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--=+=00000110110011100000212211C C c c ξξη, (21,C C 为任意常数). 3、输入增广阵(A b ),求出其秩为8, 由,108)()(=<==n Ab r A r 知方程组有无穷多个解.输入RowReduce[Ab]//MatrixFormOut[5]//MatrixForm=则输出⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-00000000000000000000006001000000000400010000000010000011000000800001010000050000000110002000000000100000000100108000000010001 4、应用命令LinearSolve[A, b],求得非齐次线性方程组b Ax =的一个特解.输入 LinearSolve[A,b]Out[9]={{800},{0},{200},{500},{0},{800},{1000},{0},{400},{600}}则得到所求非齐次线性方程组的一个特解:T )6004000100080005002000800(*=ξ综上所述,我们就得到了非齐次线性方程组b Ax =的全部解为,*2211*ξξξξη++++=C C x (21,C C 为任意常数).在解的表示式中, x 的每一个分量即为交通网络中未知部分的具体流量, 该问题有无穷多解(为什么? 并思考其实际意义).本模型具有实际应用价值, 求出该模型的解, 可以为交通规划设计部门提供解决交通堵塞、车流运行不畅等问题的方法, 知道在何处应建设立交桥, 那条路应设计多宽等, 为城镇 交通规划提供科学的指导意见. 但是,在本模型中,我们只考虑了单行街道这样一种简单情形,更复杂的情形留待读者在更高一级的课程中去研究. 此外,本模型还可推广到电路分析中的 网络节点流量等问题中.实验报告请读者应用本模型的思想方法, 为你所在或你熟悉的城镇建立一个区域的交通流量模 型. 并提供一个具体的解决方案, 即从无穷多个解中根据具体限制确定出一个具体的解决方案.(注:可编辑下载,若有不当之处,请指正,谢谢!)。

Mathematica教程-5用Mathematica求解线性代数基本问题

Mathematica教程-5用Mathematica求解线性代数基本问题

一般情况下,Mathematica假设所有变量都为全局变量。 也就是说无论何时你使用一个你定义的变,Mathematica 都假设你指的是同一个目标。然而在编制程序时,你则 不会想把所有的变量当作全局变量,因为如果这样程序 可能就不具有通用性,你也可能在调用程序时陷入混乱 状态。下面给出定义模块或块和局部变量的常用形式
逻辑表达式的运算形式
expr1&&expr2&&expr3 exprl||expr2||expr3 计算expri,直到其中有一个 为假为止 计算expri,直到其中有一个 为真为止
循环结构
Mathematica程序的执行包括对一系列 Mathematica表达式的计算。对简单程序, 表达式的计算可用分号“;”来隔开,然后 一个接一个地进行计算。然而,有时你需要 对同一表达式进行多次计算,即循环计算。
下例中我们根据i定义m: ln[12]:=m=i^2 Out[12]:=i2 在计算i+m的整个过程中使用块中i的局部值: h[13]:=Block[{i=a},i+m] Out[13]=a+a2 而对于下面的例子,只有直接出现在i+m中的i,才被 看作局部变量: In[14]:=Module[{i=a},i+m] Out[14]=a+i2
Cross[u,v]
向量u与v的外积(对三维向量而言,即 为向量积)

例(续)
二、矩阵的运算
• 下表列出矩阵的其他一些运算
矩阵运算函数 Det[A] Transpose[A] Inverse[A] 说明
计算方阵A的行列式 表示A的转置矩阵 表示A的逆矩阵 给出A的所有k阶子式,返回结果为一个 表 计算A的迹(4.0版) 表示An

mathematica计算矩阵

mathematica计算矩阵

mathematica计算矩阵使用Mathematica进行矩阵计算Mathematica是一款功能强大的数学软件,可以用于各种数学计算,包括矩阵计算。

本文将介绍如何使用Mathematica进行矩阵计算,并以实例说明其用法和功能。

1. 创建矩阵在Mathematica中,可以使用内置的MatrixForm函数来创建和显示矩阵。

例如,要创建一个3x3的矩阵A,可以使用以下代码:A = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};MatrixForm[A]这将创建一个3x3的矩阵A,并以矩阵形式显示出来。

2. 矩阵运算Mathematica提供了各种矩阵运算函数,如加法、减法、乘法、转置等。

以下是一些常用的矩阵运算示例:- 加法:使用Plus函数进行矩阵加法。

例如,要计算矩阵A和矩阵B的和,可以使用以下代码:A = {{1, 2}, {3, 4}};B = {{5, 6}, {7, 8}};C = A + B;MatrixForm[C]这将计算矩阵A和矩阵B的和,并以矩阵形式显示出来。

- 减法:使用Subtract函数进行矩阵减法。

例如,要计算矩阵A和矩阵B的差,可以使用以下代码:A = {{1, 2}, {3, 4}};B = {{5, 6}, {7, 8}};C = A - B;MatrixForm[C]这将计算矩阵A和矩阵B的差,并以矩阵形式显示出来。

- 乘法:使用Dot函数进行矩阵乘法。

例如,要计算矩阵A和矩阵B的乘积,可以使用以下代码:A = {{1, 2}, {3, 4}};B = {{5, 6}, {7, 8}};C = A.B;MatrixForm[C]这将计算矩阵A和矩阵B的乘积,并以矩阵形式显示出来。

- 转置:使用Transpose函数进行矩阵转置。

例如,要计算矩阵A 的转置矩阵,可以使用以下代码:A = {{1, 2}, {3, 4}};B = Transpose[A];MatrixForm[B]这将计算矩阵A的转置矩阵,并以矩阵形式显示出来。

Mathematica用法V

Mathematica用法V
A={c,d,e}; B=Table[Cos[(i+j)Pi],{i,1,3},{j,1,3}]; MatrixForm[A] TableForm[B] A.B A*B LinearSolve[A,c]
6、Mathematica 的逻辑运算与编程
I、逻辑运算
Mathematica软件也提供了逻辑运算功能。逻辑 运算可用于程序中的条件控制。 Mathematica软件中 的逻辑运算符与C语言中的逻辑运算符基本一致。
列表分量的读取
list[[k]]
第 k 个分量
list[[-k]]
倒数第 k 个分量
list[[i]][[j]]
第 i 个分量的第 j 个分量
list[[i,j]]
第 i 个分量的第 j 个分量
list[[{i,j,...}]]
{list[[i]],list[[j]], ... }
First[list]
5、Mathematica 的列表与矩阵运算
I、列表
列表是 Mathematica 的基本对象,可用来表示集合, 数组等。列表可分为标准列表和稀疏列表。 标准列表:
用大括号括起来的有限个元素,元素之间用逗号分隔。 稀疏列表:通常由 SparseArray 来定义。
In[1]:= x={1,2,"hello",{1,0}};
1、关系运算 常用的关系运算见下表:
x==y x!=y X<y
相等 不相等
小于
x>y x>=y X<=y
大于 大于等于 小于等于
关系运算的输出结果一般应该是Ture或False。
2、逻辑运算 逻辑运算且
False
II、编程
1、分支结构 在复杂的计算中经常需要根据表达式的情况(它

用Mathematica作向量矩阵运算

用Mathematica作向量矩阵运算
6.1 向量和矩阵的输入
从键盘输入一个表,用{ }将表的元素 括起,元素之间用逗号分隔。 例1 输入数据列0,16,64,144,256。定 义为变量data
data={0,16,64,144,256} 例2 输入矩阵M= 2 5 1
0 1 3 1 2 2
M={{2,5,-1},{0,-1,3},{1,2,-2}}
特殊矩阵的输入命令有
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矩阵
@H L8<8<D Table 1 i+j-1 , i, 3 , j, 3
i @Dy 得到
MatrixForm %
11 1
23
111
234
111
k { 3 4 5
例7 生成四阶单位阵
8 <8@D<8 <8 < IdentityMatrix 4
1, 0, 0, 0 , 0, 1, 0, 0 , 0, 0, 1, 0 , 0, 0, 0, 1
@8<@8D@<DD Transpose M 3
M 1, 3 , 2, 3
ik8@@@@DDDD@@@@DDD@@@DDy a1,1 a1,2 a1,3
a 2, 1 a 2, 2 a 2, 3
DD{ a 3,1 a 3,2 a 3,3
@D< a 2, 1 , a 2, 2 , a 2, 3 取出第2行

向量、行列式、矩阵与线性方程组实验-Mathematica

向量、行列式、矩阵与线性方程组实验-Mathematica

§13.4向量、行列式、矩阵与线性方程组实验[学习目标]1.会用Mathematica进行向量的计算;2.能用Mathematica进行行列式的计算;3.会利用Mathematica进行矩阵的运算与初等变换;4.能利用Mathematica解线性方程组。

线性代数的数值计算程序并不稀奇,早有大量的算法和软件。

然而这里是进行准确的符号运算,学习了本节以后,就可以摆脱冗繁的矩阵运算了。

本节介绍用Mathematica实现线性代数运算的各种专用函数,它们基本上满足了线性代数计算的需求。

读者将会看到,以下的一些计算功能是十分出色的。

但从我国的教材来看,还有个别计算功能没有涉及,留有继续开发的余地。

一、矩阵的输入与输出在Mathematica中向量和矩阵就是一个表。

{a1,a2,…,a n} 表示一个向量。

{{a11,a12,…,a1n},{a21,a22,…,a2n},…,{a m1,a m2,…,a mn}} 表示一个m行n列的矩阵,其中每一个子表表示矩阵的一行。

1.直接输入矩阵直接输入矩阵的方法有3种,如下所述。

(1)按表的形式输入矩阵既然矩阵和向量都是表,表的一般操作对于矩阵和向量仍然适用。

但是,按表的格式键入矩阵和向量,会让人很不习惯。

因此,Mathematica也提供了矩阵和向量的常规形式的输入、输出方法。

(2)由模板输入矩阵基本输入模板中有输入2阶方阵的模板,单击该模板输入一个空白的2阶方阵。

按“Ctrl +”使矩阵增加一列,按“Ctrl + Enter”使矩阵增加一行。

如果矩阵不大,此法较方便。

(3)由菜单输入矩阵如果输入行、列数较多的矩阵,可以打开主菜单的Input项,其中Create Table/Matrix/Palette 可用于建立一个矩阵,单击该项出现一个的对话框。

选择Make:Matrix,再输入行数和列数,单击OK按钮,于是一个空白矩阵被输入到工作区窗口。

空白矩阵的每个小方块代表一个元素的位置,光标所在的小方块与众不同,可以用Tab 键将光标从一个方块跳到下一个方块,也可以用鼠标选中一个方块。

mathematica 行向量 列向量 矩阵

mathematica 行向量 列向量 矩阵

mathematica 行向量列向量矩阵Mathematica是一款强大的数学软件,广泛应用于科学计算、数据分析等领域。

本文将重点介绍Mathematica中的行向量、列向量以及矩阵的相关概念和操作。

一、Mathematica基础概念介绍Mathematica中的向量和矩阵是线性代数的基本概念。

向量是具有相同类型的元素的序列,可以表示为一个列表。

矩阵是具有相同类型的元素的二维数组。

在Mathematica中,行向量和列向量分别表示为一维列表和二维列表。

二、行向量与列向量的定义及应用1.行向量:行向量是一个长度为n的列向量,其中n表示向量中元素的个数。

在Mathematica中,用方括号[]表示行向量,如下所示:```{a1, a2, a3, ..., an}```2.列向量:列向量是一个长度为n的行向量,其中n表示向量中元素的个数。

在Mathematica中,用圆括号()表示列向量,如下所示:```(a1, a2, a3, ..., an)```3.应用:行向量和列向量在Mathematica中有很多应用,如线性方程组求解、矩阵运算等。

三、矩阵的创建与操作1.创建矩阵:在Mathematica中,可以使用以下方法创建矩阵:```Matrix[{a1, a2, a3}, {b1, b2, b3}]```其中,{a1, a2, a3}和{b1, b2, b3}分别表示矩阵的行向量和列向量。

2.矩阵操作:矩阵在Mathematica中可以进行加法、减法、乘法等基本操作。

以下为一个例子:```Matrix[{1, 2, 3}, {4, 5, 6}] + Matrix[{7, 8, 9}, {10, 11, 12}]```3.矩阵转置:使用Transpose函数可以实现矩阵的转置,如下所示:```Transpose[Matrix[{1, 2, 3}, {4, 5, 6}]```四、实例演示与实践以下为一个简单的实例,演示如何使用Mathematica解决线性方程组问题:```方程组:a * x +b * y = 1c * x +d * y = 2已知系数矩阵:{a, b, c}{d, e, f}求解得到的解为:{x, y}```使用Mathematica求解:```eqns = {a * x + b * y == 1, c * x + d * y == 2};coefficients = {a, b, c, d, e, f};sol = Solve[eqns, x, y];```通过以上实例,我们可以看出Mathematica在处理线性方程组问题方面的强大功能。

Mathcad - 实验矩阵运算

Mathcad - 实验矩阵运算

0.5 0.5
Mathcad 中输出的特征向量是经过标准化成单位长度的。 按照通常的计算过程分步骤计算: 设 I := identity ( 3) 特征多项式
λ ⋅I − A → λ − 2⋅λ
3
调用求多项式根的函数得到特征根
0 −1.414 −2 polyroots = 0 0 1 1.414
ξ1 ξ1
T
调用特征向量函数,输出向量的每一列 为对应于各特征值的特征向量。
−0.615 −0.158 0.773 对特征值 4 的特征向量

1 1 1 3⋅ 3 3⋅ 3 3⋅ 3
对特征根1基础解系为:
ξ2 ξ2
T
1 −1 → 2⋅ 2 0 2 ⋅ 2
0 ξ3 := 1 −1
ξ3 ξ3
T

0 1 ⋅ 2 −1 ⋅ 2 2 2
ξ ( c1 , c2) := c1ξ2 + c2ξ3
c1 ξ ( c1 , c2) → c2 −c1 − c2
−c1 − c2 = 0.773
805 161
38
−29
0.08 0.047 −0.18 0.048 −0.002 0.062 0.037 −0.04 0.009
64 805 39 1 → 805 B 6 161
0.08 0.047 −0.18 = 0.048 −0.002 0.062 805 161 0.037 −0.04 0.009 −13 3 322 322
1 −1 0 2 设 X := 2 −1 1 3 0 −2 −1 0 −1 X → 3 −1 −3 −3 −3 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学实验
授课老师: 所属院系:数计学院 E-mai:l
第五讲
用Mathematic的a 相应功能进行向量、矩阵运算
用Mathematic的a相应功能进行向量、矩阵运算
? 向量和矩阵的输入 ? 获得表的元素 ? 表的维数和矩阵的加、减法 ? 向量和矩阵的乘法 ? 关于矩阵的几个常用函数
用Mathematic的a相应功能进行向量、矩阵运算
,e2}}
m1? m2
注意:“? ”是Mathematic特a 有? 的,这种乘法不满足 交换律,当向量与矩阵相乘用“ ”时,Mathematica 能自动把向量看做行向量或列向量
关于矩阵的几个常用函数
?
Inverse[M] :
?
Transpose[M]
?
Det[M]
?
Eigenvalues[M]
获得表的元素
在Mathematic中a 获得表的元素的规则如下:
? 若A是一个向量,则A[i] 表示向量的第i个元素。
? 若M是一个m行n列矩阵,则用M[[i]] 第i行。
表示矩阵的
? 用M[[i,j]]
表示第i行、第j列交叉点处的元素。
?
用Transpose[m][[j]]
表示M的第j列。
? 用,j2}]]
? 实验内容
? 矩阵的输入。 123
输入矩阵 A= 4 5 6 78 9
? 矩阵的基本运算
?求两个矩阵的和 ?数乘矩阵 ?矩阵相乘
实验6 矩阵的初等变换
? 实验内容
? 矩阵的初等变换
用初等变换将矩阵 A=
-1 0 1 2 3 1 0 -1 0214
化为行标准型。
x1 ? 3x2 ? 6x4 ? 9 2x2 ? x3 ? 2x4 ? ?5
的解Βιβλιοθήκη x1 ? 4x2 ? 7x3 ? 6x4 ? 0
命令: 4,-7,6}} B={8,9,-5,0} Inverse[A].B//N
实验6
矩阵的初等变换
实验6 矩阵的初等变换
? 问题的提出
?矩阵是线性代数的最重要的工具,线性代数的 基本问题,包括求解线性方程组、矩阵的特征 值与特征向量、二次型的标准化等都要用矩阵 来进行运算。一个 m×n阶矩阵 A是指如下的 m行 n列的数表,即
求M的逆矩阵 :求M的转置矩阵 :方阵M的行列式
:求矩阵M的特征值
关于矩阵的几个常用函数
例12: (1)求. 矩阵
a c
b d
的逆矩阵
123 (2).求矩阵 4 5 6 的转置矩阵
78 9
(3).求(2)中矩阵的行列式
(4).求(2)中矩阵的逆矩阵
关于矩阵的几个常用函数
例13:求方程组
2x1 ? x2 ? 5x3 ? x4 ? 8
在Mathematic中a ,有序数组被称为 “表”。“表”既可以表示成集合,也
可以 表示成向量和矩阵。 Mathematic中a 的许 多函数都可以作用在表上。
向量和矩阵的输入
? 使用键盘输入一个表时,用 { }将元素括 起,元素之间用逗号分隔。
例1:输入一组数据 0,16,64,144,256,并把这 个数组定义为变量 data
a11 a12…a1n A = …………
am1 am2 …amn
实验6 矩阵的初等变换
? 矩阵的初等变换是线性代数计算理论中最基本的 方法,在矩阵求秩、矩阵求逆、向量的线性相关性、 求最大线性无关组等都离不开它。但是初等变换又 仅仅是对数的加法和乘法,只是要同时对矩阵的一 行或一列的所有元素进行运算。
m 2 = A rray[b ,{3,2} ];
M a t r ixForm [m1+m2 ]
向量和矩阵的乘法
? 向量的内积
命令格式: {a1,a2,a3}.{b1,b2,b3}
? 矩阵的乘积 a1
例11:计算下列矩阵的乘积 b1
a2 a3 b2 b3
c1 c2 d1 d2 e1 e2
命令: ,b2,b3}}
表示取M的第i1、i2行,j1、j2
列构成的子矩阵。
获得表的元素
例7:构造一个3*3的矩阵,再取出它的元素。 命令:M=Array[a,{3,3}];
MatrixForm[%]
M [ [ 2 ]] M [ [ 3 ,2]] T r a n spose[ M][[3] ]
3}]]
表的维数和矩阵的加、减法
? 在Mathematic中a ,将矩阵看做一个二维数组, 在运算中,矩阵的每一行可看做是一个向量,向量 是一维数组。 Mathematic定a 义了各种运算和操作命 令,提供了很大方便。
实验6 矩阵的初等变换
?试验目的
? 介绍矩阵的输入 ? 学习矩阵的基本运算 ? 学习矩阵的初等变换
实验6 矩阵的初等变换
? 表的维数:用 Dimensions[list]
给出向量或矩阵的维数
例8:求向量 a=(1,2,3,4和) 矩阵M= 1 2 3 456
命令: T={1,2,3,4} 5,6}}
D i m e nsions [T]
D i m e nsions [m]
表的维数和矩阵的加、减法
? 矩阵的加、减法 在Mathematic中a ,矩阵可以表述成表,而相同维数 的表可以相加,它的和是两表对应元素相加所得的 同维的表。 例9:{a1,a2,a3}+{b1,b2,b3} 例 10: m1=Array[a,{3,2}];
命令: data={0,16,64,144,256}
2 5 -1 例2:输入矩阵 M= 0 –1 3
1 2 -2
命令: 2,-2}}
注意:矩阵的每一行用{ }括起来,行与行之间用逗号分开。
向量和矩阵的输入
例3:已知数列通项 xn ? n2 ,请给出数列的前 10项。
命令: Table[n^2,{n,1,10}]
例4:给出30以内的奇数。
命令: Table[n,{n,1,30,2}]
例5:生成四阶单位阵。
命令: IdentityMatrix[4]
例6:生成一个以 1,2,3,4,为5 对角元的对角矩阵, 并用
矩阵形式表示。
命令:
D i a g onalMa trix[{ 1,2,3, 4,5}]
M a t r ixForm [%]
相关文档
最新文档