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