1、MATLAB数学实验,第三章 矩阵代数,2018/9/28,2,第二章 MATLAB编程与作图,第三章 矩阵代数,3.1 预备知识:线性代数3.2 矩阵代数的MATLAB指令3.3 计算实验:线性方程组求解3.4 建模实验:投入产出分析和基因遗传,2018/9/28,3,第二章 MATLAB编程与作图,3.1 预备知识:线性代数,线性方程组记为 A x = b,2018/9/28,4,第二章 MATLAB编程与作图,3.1 预备知识:线性代数,线性方程组若秩(A) 秩(A,b),则无解;若秩(A) = 秩(A,b) = n, 存在唯一解;若秩(A) = 秩(A,b) n, 存在无穷多解; 通解
2、是齐次线性方程组 Ax=0 的基础解系与 Ax=b 的一个特解之和。,2018/9/28,5,第二章 MATLAB编程与作图,3.1 预备知识:线性代数,逆矩阵方阵A称为可逆的,如果存在方阵B,使A B = B A = E,记 B = A-1方阵A可逆的充分必要条件:A0A-1 =A*/|A| 这里A*为A的伴随矩阵(A E) 行变换,2018/9/28,6,第二章 MATLAB编程与作图,3.1 预备知识:线性代数,特征值与特征向量 对于方阵A,若存在数和非零向量x 使 A x = x,则称为A的一个特征值,x 为A 的一个对应于特征值的特征向量。特征值计算归结为特征多项式的求根。特征向量计
3、算:齐次线性方程组(A - E) x = 0 的所有一组线性无关解。,2018/9/28,7,第二章 MATLAB编程与作图,3.2 矩阵代数的MATLAB指令,运算符A (共轭)转置, A. 转置 A+B与A-B 加与减k+A与k-A 数与矩阵加减k*A或A*k 数乘矩阵 A*B 矩阵乘法 Ak 矩阵乘方左除AB 为AX=B的解右除B/A 为XA=B的解,2018/9/28,8,第二章 MATLAB编程与作图,3.2 矩阵代数的MATLAB指令,矩阵运算与数组运算的区别数组运算按元素定义,矩阵运算按线性代数定义矩阵的加、减、数乘等运算与数组运算是一致的 矩阵的乘法、乘方和除法与数组乘法、乘方
4、和除法不同数与矩阵加减、矩阵除法在数学上是没有意义的。但在MATLAB中有定义。 例子 P45-46,2018/9/28,9,第二章 MATLAB编程与作图,3.2 矩阵代数的MATLAB指令,特殊矩阵生成zeros(m,n) m行n列的零矩阵;ones(m,n) m行n列的元素全为1的阵;eye(n) n阶单位矩阵;rand(m,n) m行n列0,1上均匀分布随机数矩阵,2018/9/28,10,第二章 MATLAB编程与作图,3.2 矩阵代数的MATLAB指令,矩阵处理 trace(A) 迹(对角线元素的和)diag(A) A对角线元素构成的向量;diag(x) 向量x的元素构成的对角矩阵
5、.tril(A) A的下三角部分triu(A) A的上三角部分flipud(A) 矩阵上下翻转fliplr(A) 矩阵左右翻转reshape(A, m, n) 矩阵A的元素重排成m行n列矩阵,2018/9/28,11,第二章 MATLAB编程与作图,3.2 矩阵代数的MATLAB指令,矩阵分析 rank(A) 秩det(A) 行列式;inv(A) 逆矩阵;null(A) Ax=0的基础解系;orth(A) A列向量正交规范化norm(x) 向量x的范数norm(A) 矩阵A的范数,2018/9/28,12,第二章 MATLAB编程与作图,3.2 矩阵代数的MATLAB指令,特征值与标准形eig
6、(A) 方阵A的特征值V, D=eig(A)返回方阵A的特征值和特征向量。其中D为的特征值构成的对角阵,每个特征值对应的V的列为属于该特征值的一个特征向量。V, J=jordan(A) 返回A的相似变换矩阵和约当标准形 例子 P49-50,2018/9/28,13,第二章 MATLAB编程与作图,3.3 计算实验:线性方程组求解,矩阵除法 (1) 当A为方阵,AB结果与inv(A)*B一致;(2) 当A不是方阵, AX=B存在唯一解, AB将给出这个解;(3) 当A不是方阵, AX=B为不定方程组(即无穷多解),AB将给出一个具有最多零元素的特解;(4) 当A不是方阵, AX=B若为超定方程组
7、(即无解), AB给出最小二乘意义上的近似解,即使得向量AXB的模达到最小。,2018/9/28,14,第二章 MATLAB编程与作图,3.3 计算实验:线性方程组求解,例3.1 解方程组,2018/9/28,15,第二章 MATLAB编程与作图,3.3 计算实验:线性方程组求解,例3.2 线性方程组通解用rref化为行最简形以后求解用除法求出一个特解,再用null求得一个齐次组的基础解系用符号数学工具箱中的solve求解(第七章),2018/9/28,16,第二章 MATLAB编程与作图,3.3 计算实验:线性方程组求解,相似对角化及应用 如果n阶方阵A有n个线性无关的特征向量,则必存在正交
8、矩阵P, 使得 P-1AP= , 其中是A的特征值构成的对角矩阵,P的列向量是对应的n个正交特征向量。使用MATLAB函数eig求得的每个特征向量都是单位向量(即模等于1),并且属于同一特征值的线性无关特征向量已正交化,所以由此容易进行相似对角化。,2018/9/28,17,第二章 MATLAB编程与作图,3.3 计算实验:线性方程组求解,例3.3 用相似变换矩阵P将A相似对角化,并求,2018/9/28,18,第二章 MATLAB编程与作图,3.4 建模实验,设有n个经济部门,xi为部门i的总产出,cij为部门j单位产品对部门i产品的消耗,di为外部对部门i的需求,fj为部门j新创造的价值。
9、分配平衡方程组消耗平衡方程组 i =1,2,n,2018/9/28,19,第二章 MATLAB编程与作图,投入产出分析,令 C =(cij),X = (x1, , xn),D = (d1, , dn),F= (f1, , fn), 则 X=CX+D令 A = EC,E为单位矩阵,则 AX = DC称为直接消耗矩阵A称为列昂杰夫(Leontief)矩阵。,2018/9/28,20,第二章 MATLAB编程与作图,Y = 1,1,1 B,Y表示各部门的总投入,称为投入向量。,新创造价值向量 F=X Y ,B=C,B表示各部门间的投入产出关系,称为投入产出矩阵。,2018/9/28,21,第二章 M
10、ATLAB编程与作图,投入产出分析,例3.4 某地有三个产业,一个煤矿,一个发电厂和一条铁路,开采一元钱的煤,煤矿要支付0.25元的电费及0.25元的运输费; 生产一元钱的电力,发电厂要支付0.65元的煤费,0.05元的电费及0.05元的运输费; 创收一元钱的运输费,铁路要支付0.55元的煤费和0.10元的电费,在某一周内煤矿接到外地金额50000元定货,发电厂接到外地金额25000元定货,外界对地方铁路没有需求。,2018/9/28,22,第二章 MATLAB编程与作图,解:这是一个投入产出分析问题。设x1为本周内煤矿总产值,x2为电厂总产值, x3为铁路总产值, 则,问三个企业间一周内总产
11、值多少才能满足自身及外界需求?三个企业间相互支付多少金额?三个企业各创造多少新价值?,2018/9/28,23,第二章 MATLAB编程与作图,直接消耗矩阵C=,外界需求向量 D =,产出向量X =,则原方程为 (E-C)X=D,投入产出矩阵为 B=C*diag(X)总投入向量 Y= ones(1,3)*B 新创造价值向量 F=X-Y,2018/9/28,24,第二章 MATLAB编程与作图,表3.3 投入产出分析表(单位:元),2018/9/28,25,第二章 MATLAB编程与作图,后代是从父母体的基因对中各继承一个基因,形成自己的基因型。如果所考虑的遗传特征是由两个基因A和a控制,那么有
12、三种基因型,,上表给出父母基因型的所有可能组合使其后代形成每种基因对的概率。,基因遗传,2018/9/28,26,第二章 MATLAB编程与作图,例5 设金鱼某种遗传病染色体的正常基因为A,不正常基因为a, 那么AA,Aa,aa分别表示正常金鱼,隐性患者,显性患者。设初始分布为90%正常金鱼,10%的隐性患者,无显性患者。考虑下列两种配种方案对后代该遗传病基因型分布的影响,方案一:同类基因结合,均可繁殖;方案二:显性患者不允许繁殖,隐性患者必须与正常金鱼结合繁殖,2018/9/28,27,第二章 MATLAB编程与作图,解 设初始分布X(1)=(0.9 0.1 0),第n代分布为X(n)=,A =,B=,则 X(n) = An-1X(1) X(n) = Bn-1X(1) 分别是 两种情况下第n代的基因型分布,