当前位置:文档之家› 矩阵运算与方程组求解

矩阵运算与方程组求解

附录Ⅰ 大学数学实验指导书项目五矩阵运算与方程组求解实验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.B -2A//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则输出⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--------16521161145810812181********161121162147 求方阵的行列式例1.3 求.11111111111122222222d d d d c cc c b bb 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 分别为115923⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛---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 的行最简形⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-00000000100005100101 根据矩阵的行最简形,便得矩阵的秩为3.矩阵的初等行变换例2.3 用初等变换法求矩阵.343122321⎪⎪⎪⎭⎫ ⎝⎛的逆矩阵.输入 A={{1,2,3},{2,2,1},{3,4,3}}MatrixForm[A]Transpose[Join[Transpose[A],IdentityMatrix[3]]]//MatrixFormRowReduce[%]//MatrixFormInverse[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*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).例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 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 , 即 ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛---1000600200400100080080020050030000101011000000000110000000001000000000011000000000001000100000000110001100000000001100000000111010987654321x 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]//MatrixForm Out[3]//MatrixForm=则输出⎪⎪⎭⎫ ⎝⎛----00000110110011100000 由此即得到所求齐次线性方程组的基础解系:⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--+⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--=+=00000110110011100000212211C C c c ξξη, (21,C C 为任意常数). 3、输入增广阵(A b ),求出其秩为8, 由,108)()(=<==n Ab r A r 知方程组有无穷多个解. 输入RowReduce[Ab]//MatrixForm Out[5]//MatrixForm=则输出⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛-00000000000000000000060010000000004000100000000100000110000008000010100000500000001100020000000001000000001001080000000100014、应用命令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 的每一个分量即为交通网络中未知部分的具体流量, 该问题有无穷 多解(为什么? 并思考其实际意义).本模型具有实际应用价值, 求出该模型的解, 可以为交通规划设计部门提供解决交通堵塞、车流运行不畅等问题的方法, 知道在何处应建设立交桥, 那条路应设计多宽等, 为城镇交通规划提供科学的指导意见. 但是,在本模型中,我们只考虑了单行街道这样一种简单情形, 更复杂的情形留待读者在更高一级的课程中去研究. 此外,本模型还可推广到电路分析中的网络节点流量等问题中.实验报告请读者应用本模型的思想方法, 为你所在或你熟悉的城镇建立一个区域的交通流量模型. 并提供一个具体的解决方案, 即从无穷多个解中根据具体限制确定出一个具体的解决方案.。

相关主题