矩阵与线性方程详解Word格式文档下载.docx
- 文档编号:22403879
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:18
- 大小:122.04KB
矩阵与线性方程详解Word格式文档下载.docx
《矩阵与线性方程详解Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《矩阵与线性方程详解Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
n个未知量m个方程的线性方程组的一般形式为
则得矩阵形式
(6.7)
若b=0,即
Ax=0(6.8)
则称方程组为齐次的。
方程组(6.7)可能有唯一解、有无穷多解,也可能无解,这取决于系数矩阵A及增广矩阵(A,b)的秩。
若秩(A)=秩(A,b)=n,存在唯一解。
其理论上可用Cramer法则求出,但计算量太大。
若秩(A)=秩(A,b)<
n,存在无穷多解,其通解可表示为对应齐次方程组(6.8)的一个基础解系与(6.7)式的一个特解的叠加;
若秩(A)≠秩(A,b),则无解,这时一般寻求最小二乘近似解,即求x使向量Ax-b长度最小。
6.2.2逆矩阵
方阵A称为可逆的,如果存在方阵B,使
AB=BA=E
这里E表示单位阵。
B称为A的逆矩阵,记
。
A可逆的充分必要条件是
且
(6.9)
这里A*为A的伴随矩阵。
(6.7)可表示为
由于这个公式涉及大量的行列式计算,数值计算不采用。
6.2.3特征值与特征向量
对于方阵A,若存在数和非零向量x使
称为A的一个特征值,x为A的一个对应于特征值的特征向量。
特征值的计算归结为特征多项式的求根。
对于n阶实数方阵,特征多项式在复数范围内总有n个根。
对应于特征值的特征向量是齐次线性方程组
的所有非零解。
通常只需要求它的一组线性无关解。
特征值和特征向量求解的数值方法是相当复杂的,适用性较广的是正交三角分解系列算法。
6.3线性代数运算的MATLAB命令
MATLAB是矩阵化程序设计语言,所以处理矩阵和向量运算特别方便。
关于矩阵和向量的一些基本运算命令已在前面有所介绍,常用的命令和函数还有:
zeros生成0矩阵eig特征值、特征向量
ones生成1矩阵diag对角矩阵
eye生成单位矩阵trace方阵的迹
linspace生成等距行向量rank矩阵的秩
rand生成随机矩阵rref行最简形
det方阵的行列式orth正交规范
inv方阵的逆null求基础解系
norm范数jordanJordan分解
cond方阵的条件数
6.3.1生成特殊矩阵
zeros(m,n)m行n列0矩阵;
ones(m,n)m行n列1矩阵;
rand(m,n)m行n列[0,1]上均匀分布随机矩阵;
eye(n)n阶单位矩阵;
diag(A)A的对角线构成的向量(A为矩阵);
diag(X)X的元素构成的对角矩阵(X为向量);
linspace(x1,x2,n)x1与x2间的n维等距向量,即将[x1,x2]n-1等分。
例:
>
ones(4,4)
ans=
1111
eye(4)
1000
0100
0010
0001
linspace(1,3,4)
1.00001.66672.33333.0000
rand(2,4)%由于随机性,每次结果不同
0.95010.60680.89130.4565
0.23110.48600.76210.0185
6.3.2行列式和逆矩阵
det(A)返回方阵A的行列式
inv(A)返回A的逆矩阵
A=[4,6;
5,7];
det(A),inv(A)
-2
-3.50003.0000
2.5000-2.0000
6.3.3矩阵除法
左除法A\B解矩阵方程AX=B
右除法B/A解矩阵方程XA=B
(1)当A为方阵,其结果与inv(A)*B基本一致;
(2)当A不为方阵,除法将分三种情况自动检测:
若为超定方程组(既无解)除法将给出最小二乘意义上的近似解,即使向量AX-B的长度最小;
若为不定方程组(即无穷多解),除法将给出一个具有最多零元素的特解(不是通解);
若为唯一解,除法将给出这个解。
用户对结果应有一个正确的认识。
解下列方程组
解:
A=[11;
1-1];
B=[1;
4];
x=A\B
x=
2.5000
-1.5000
求得唯一解。
A=[121;
3-21];
1.2500
-0.1250
0
仅求得一个特解。
A=[12;
3-2;
4;
2];
1.2838
-0.1757
求得一最小二乘近似解。
24];
Warning:
Matrixissingulartoworkingprecision.
(Type"
warningoffMATLAB:
singularMatrix"
tosuppressthiswarning.)
Inf
可见,不能直接求解。
24;
00];
2;
0];
x=A\B%增加0x+0y=0,使A不为方阵
Rankdeficient,rank=1tol=2.9790e-015.
0.5000
仍可求一特解。
求线性方程组的通解
在有无穷多解的情况可用三种方法求得通解。
方法一:
用rref化为行最简形以后求解。
clear;
a=[1-11-1;
-111-1;
2-2-11];
b=[1;
1;
-1];
[rank(a),rank([a,b])]
22 %秩相等且小于4,说明有无穷多解
rref([a,b])
1-1000
001-11
00000
即通解为:
小x1=x2,x3=x4+1(x2,x4自由)
方法二:
先用除法求出一个特解,再用null求得齐次组的基础解系。
x0=a\b;
x=null(a)
Rankdeficient,rank=2tol=2.1756e-015.
-0.70710
-0.00000.7071
通解为k1*x(:
1)+k2*x(:
2)+x0
方法三:
使用solve求解。
(见第8章)
6.3.4特征值和特征向量
[V,D]=eig(A)返回方阵A的特征值和特征向量。
其中D为特征值构成的对角阵,每个特征值对应的V的列为属于该特征值的一个特征向量,每个特征向量都是单位向量,并且属于同一特征值的线性无关特征向量已正交化。
eig(A)返回方阵A的特征值构成的列向量。
A=[123;
234;
245];
[V,D]=eig(A),t=eig(A)
V=
-0.3957-0.2167+0.5832i-0.2167-0.5832i
-0.57650.63130.6313
-0.7149-0.3914-0.2471i-0.3914+0.2471i
D=
9.332900
0-0.1665+0.2818i0
00-0.1665-0.2818i
t=
9.3329
-0.1665+0.2818i
-0.1665-0.2818i
6.4引例分析
6.4.1数学模型
记:
x1-本周内煤矿总产值;
x2-电厂总产值;
x3-铁路总产值,则
若记
此既说明了对每一企业:
中间产品(作为系统内各企业的消耗)+最终产品(外部需求)=总产品
称为分配平衡方程组。
另一方面,若设z1,z2和z3(元)分别为煤矿、电厂和铁路在这个星期的创新价值,那么应有
此说明对每一企业:
对系统内各企业产品的消耗+创新价值+总产值
称为消耗平衡方程组。
6.4.2问题的分析与解决
Ⅰ.各需求量和新创价值
在经济学上A称之为直接消耗矩阵,X称之为产出向量,Y称之为最后需求向量;
A的元素称之为直接消耗系数。
(6.12)又可以写为
(E-A)X=Y(6.14)
使用MATLAB求解:
A=[00.400.45;
0.250.050.10;
0.350.100.10];
Y=[50000;
25000;
30000];
E=eye(size(A));
X=(E-A)\Y
X=
1.0e+005*
1.1446
0.6540
0.8511
这就是说:
在该星期中,煤矿、电厂和铁路的总产值分别为114458元、65395元和85111元。
而由
A*diag(X)
1.0e+004*
02.61583.8300
2.86150.32700.8511
4.00600.65400.8511
结果的每一行给出了每一企业分别用于企业内部和其他企业的消耗(中间产品)。
进而使用(6.13)
Z=X-A'
*ones(3,1).*X
Z=
4.5783
2.9428
2.9789
即得各企业新创造的价值。
Ⅱ.投入产出表
一般来说,在对一个国家或区域的经济用投入产出法进行分析和研究时,首先就是要根据统计数字制定投入产出表,进而计算出有关的技术系数(如直接消耗系数)。
对这些系数的分析,可以了解经济系统的结构和各部门之间的数量关系;
还可建立上述的反映分配平衡和消耗平衡关系的代数方程组,通过求解方程组来获知最终需求的变化对各部门生产的影响。
表6.1
产出
投入
中间产品
最终产品
总产值
煤矿
电厂
铁路
小计
中间投入
26158
38300
64458
50000
11458
28614
3270
8511
40395
25000
65395
40060
6450
55111
30000
85111
68674
35968
55322
159964
105000
264964
新创价值
45784
29427
29789
114458
Ⅲ.完全消耗
在某个企业生产或提供服务时,对任何一个产品的直接消耗事实上还可能蕴含着其他产品的间接消耗。
例如地方铁路在运输时直接消耗了煤,但它还通过消耗电而间接消耗煤,因为电的生产需要消耗煤。
这样就有了完全消耗系数的概念。
完全消耗系数是指某企业生产单位产值的产品而对其他某一企业产品的总消耗值。
设第j企业对第i企业的总消耗值(即完全消耗系数)为bij;
那么不难理解
记
,称为完全消耗矩阵,这样(6.15)可以写成矩阵形式
A+BA=B(6.16)
由此得
B=A(E-A)-1=[E-(E-A)](E-A)-1=(E-A)-1-E
而间接消耗为B-A。
与直接消耗矩阵A一样,完全消耗矩阵B反映了各生产部门之间在生产需求上的关系。
但后者从完全需求的角度揭示了它们在更深层次上的相互依赖关系。
对于引例,易得
这意味着如果该城镇要扩大煤的生产而每周增加产值1万元,那就不仅需要相应增产0.25万元的电和0.35万元的运输能力作为直接消耗,事实上还将有约0.46万元的煤、0.20万元的电和0.27万元的运输能力作为间接消耗。
完全消耗矩阵,对经济部门的计划决策者而言是极其重要的数量依据。
在为某企业或部门扩大生产而进行投资等问题上,需要充分考虑其他部门的相应能力。
Ⅳ.比例关系和效益分析
利用投入产出表还可以分析经济内部的各种比例关系以及效益情况,表的划分越细,越可能得到更加全面有效的信息数据。
例如根据表6.1的前四行可得到各企业产品分配的比例表。
表.62
企业产值占系统总产值的百分比
消费
积累
0.00
22.8
33.5
56.3
30.6
13.1
43.7
43.2
5.00
13.0
61.8
27.5
10.7
38.2
24.7
47.1
7.7
10.0
64.8
23.5
11.7
35.2
32.1
系统总产品
25.9
13.6
20.9
60.4
12.1
39.6
100.0
表6.2反映了系统内各企业产品在使用上的分配结构比例。
如果系统增加产品或服务10000元,则其中来自煤矿、电厂和铁路的部分分别为4320元、3470元和3210元,而最终用于城镇消费需求的约为2750元。
经济效益分析有多种角度。
一般说来,以下几个指标是经常考虑的:
新创造价值与物资消耗的比值;
总产值与总成本的比值;
新创造价值与劳动报酬的比值;
消费基金与劳动报酬的比值;
消费基金与总成本的比值等。
前三个指标从不同角度刻画了区域的宏观经济效益,而后两个指标则说明了经济系统在满足消费需求方面的效益。
对于引例而言:
系统支付的总劳动报酬为
25488+10146+14258=49892(元)
总消费为
35000+18000+20000=73000(元)
新创造价值与物资消耗的比值为
105000÷
159964≈0.6564
总产值与总成本的比值为
264964÷
(159964+49892)≈1.2626
新创造价值与劳动报酬的比值为
105000÷
49892≈2.1045
消费基金与劳动报酬的比值为
73000÷
49892≈1.4632
消费基金与总成本的比值为
73000÷
(159964+49892)≈0.3479
Ⅴ.经济预测
根据问题中给出的增长率,可知在以后的第三周煤、电和铁路运输的外部需求(最终产品)量分别为
解分配平衡方程组
,得第三周的产出向量
以目前这周的产出为基数,分别增长43.1%、29.2%和40.1%,而平均每周递增12.7%、8.9%和11.9%。
我们还可以根据外部需求的变化预测中间产品的消耗量,进而可以由这些数据来编制计划期的投入产出表。
Ⅵ.可行性
作为一个合理的模型,一个经济系统的分配平衡方程组(6.1)对于任何非负的外部需求都应有相应的非负的总产值。
这意味着式
(E-A)X=Y
对于任何非负的Y(向量非负即指每个分量都非负)必须有且有唯一非负的解X。
此时称这个Leontief模型为可行的。
易见:
Leontief模型为可行的即Leontief矩阵的逆矩阵(E-A)-1存在且非负(矩阵非负即指其每个元素都非负)。
易得
命题对于非负矩阵A,若存在一个非负向量
,使得向量
是正的(即每个分量都是正的),那么(E-A)-1存在且非负。
推论对于非负矩阵A,若其每行(或每列)元素的和小于1,那么(E-A)-1存在且非负。
这就是说,在应用投入产出理论时,只要得到的直接消耗矩阵的各行(或列)元素的和都小于1,则相应的Leontief模型为可行的。
6.5习题
(经济预测)在某经济年度内,各经济部门的投入产出表如下表所示。
(单位:
亿元)。
假设t经济年度工业、农业及第三产业的最后需求均为17亿,预测t经济年度工业、农业及第三产业的产出(提示:
直接消耗矩阵和Leonief矩阵可视作不变)。
投入产出表(单位:
亿元)
投入部门
工业
农业
第三产业
最后需求
6
2
1
16
25
2.25
1
0.2
1.55
5
3
1.8
15
20
6.6补充知识:
病态问题
考虑方程组
解为x=2,y=1.现在我们将59.000001改为59(用以模拟数据误差、舍入误差等),方程变为
解为x=59/12,y=0。
我们看到右边不起眼的小扰动引起了解的大差异,注意这种差异并不是由算法引起的(事实上两组解都是相应方程的精确解),而与方程的性态有关(通常情况下数据上的小扰动不会引起这么大的误差)。
这样的方程组称为病态问题或坏条件问题。
病态问题在线性代数的其他计算中(如求逆、特征值)也会出现。
对于病态问题,特别要注意计算精度和数据精度。
方程组是病态程度的指标称为条件数,方阵的条件数定义为
其中
为矩阵的范数,最常用的是2范数(即ATA的特征最大值开方)
条件数越大,说明病态越严重。
例如,对上述方程用MATLAB命令分析:
A=[1235;
1235.000001];
cond(A)
2.2817e+008
可见A是病态的。
6.7补充习题
Hilbert矩阵是著名的病态矩阵,n阶Hilbert矩阵定义为A=(aij),其中aij=1/(i+j-1),可以用MATLAB函数hilb(n)产生。
设A为12阶的Hilbert矩阵,计算cond(A)、A-1、A-1A-E及|A||A-1|-1,并分析结果。
再用Symbolic命令验算。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 矩阵 线性方程 详解
![提示](https://static.bdocx.com/images/bang_tan.gif)