空间解析几何与线性代数 (向量组的线性相关性及线性方程组) 成都信息工程学院 计算科学系 数 学 实 验 空间解析几何与线性代数 (向量组的线性相关性及线性方程组) 成都信息工程学院 计算科学系
实验目的 1、熟悉用MATLAB软件求矩阵的秩及矩阵的行简化阶梯形的命令 2、学会用MATLAB软件求线性方程组
一、向量组的秩及相关性 (1)两个命令 rank(A) 求矩阵A的秩 rref (A)将A化为行简化阶梯形,其中 单位向量对应的列向量即为极大无关组所含向量,且其它列向量的各分量是用极大无关向量组线性表示的组合系数。
[例1] 设向量组A: (1)求A的秩,判断向量组A是否线性相关; (2)求A的一个极大无关组; (3)将其余向量用极大无关组线性表示。
解: >>A1=[2 1 4 3 -1 1 -6 6 -1 -2 2 -9 1 1 -2 7 2 4 4 9]; >>A=A1’; >> r=rank(A) r= 3 >>A2=rref(A) A2= 1 0 -1 0 4 0 1 -1 0 3 0 0 0 1 -3 0 0 0 0 0
答:(1)r=3,向量组A线性相关; (2)它的一个极大线性无关组是: a1,a2,a4; (3)a3= -a1-a2,a5=4a1+3a2 -3a4 。 二、解线性方程组: 1、Ax=b ,当det(A)≠0时,求解方法 (1)逆矩阵求解:X=inv(A)*b或 X =A \ b ; (2)克莱姆法则求解:
例2. 解线性方程组 解法1: >>A=[1 -1 1 -2 2 0 -1 4 3 2 1 0 -1 2 -1 2 ] ;
>> b=[2;4;-1;-4]; >>x=inv(A)*b x= 1 -2 1/2 或: >>x=A \ b x= 1 -2 1/2
解法2: >>D=det(A); >>n=size(A); >>D1=ones (n(1),1); >>for i=1:n(1) A1=A; A1(:,i)=b; D1(i)=det(A1); end >>x=D1/D x= 1 -2 1/2
2、一般的线性方程组Ax=b的解法 操作步骤如下: (1)输入系数矩阵A及常数项矩阵b; (2)生成增广矩阵B=[A b]; (3)计算:A的秩r1及B的秩r2; (4)判断:若r1= r2,则转(5);否则程 序结束; (5)将B化为行简化阶梯形; (6)确定方程组的解。
[例3] 解线性方程组 x1 +5x2 -x3 -x4 = -1 x1 -2x2 +x3+3x4 = 3 3x1+8x2 -x3 +x4 = 1 x1 -9x2 +3x3+7x4 = 7 解: >>A=[1 5 -1 -1 1 -2 1 3 3 8 -1 1 1 -9 3 7 ] ;
>>b=[-1;3;1;7]; >>B =[A b]; >>r1=rank(A); >>r2=rank(B); if r1==r2 c=rref(B) end
c= 1.0000 0 0.4286 1.8571 1.8571 0 1.0000 -0.2857 -0.5714 -0.5714 0 0 0 0 0
其通解为: K1,K2∈R,但K1, K2不同时为0.
[例4] 应用型实验:工资问题 现有一个木工、一个电工、一个油漆工、一个装修工,共同合作完成他们各自的住房装修。为了用工分配合理,决定每人工作13天,日工资不超过100元,且每人的总收入与总支出相等,试建立数学模型,以合理确定每人的日工资额。
工作天数分配方案 天数 木工 电工 油漆工 装修工 在木工家 2 1 6 3 的工作天数 在电工家 4 5 2 4 工种 天数 木工 电工 油漆工 装修工 在木工家 2 1 6 3 的工作天数 在电工家 4 5 2 4 在油漆工家 4 4 3 2 在装修工家 3 3 2 4
解:(1)问题分析与模型建立 木工、电工、油漆工、装修工,装修他们的房子,每人共工作13天,每人的日工资数应使得每人的总收入与总支出相等,这是一个投入产出问题。 设木工、电工、油漆工、装修工的日工资分别为:x1,x2,x3,x4。则收支平衡关系式分别为:
得数学模型: 2x1+x2+6x3+3x4=13x1 4x1+5x2+2x3+4x4=13x2
(2) Matlab求解 >>A=[-11 1 6 3;2 -4 1 2;2 2 -5 1; 3 3 2 -9]; 3 3 2 -9]; >>B=rref(A) B= 1.0000 0 0 -0.9912 0 1.0000 0 -1.2719 0 0 1.0000 -1.1053 0 0 0 0
运行结果 k = 78 d = 77.3158 99.2105 86.2105 78.0000 >>C=-B(:,4); >>x=zeros(4,1); >>X=[]; >>while max(x)<=100 k=k+1; for i=1:4 x(i)=C(i)*k; end X=[X x]; >>k=k-1 >>d=X(:,k-70) 运行结果 k = 78 d = 77.3158 99.2105 86.2105 78.0000
齐次线性方程组的通解为: 由xi≤100得K=78,以确定木工、电工、油漆工 及装修工每人每天的日工资: x1=77 x2=99 x3=86 x4=78
上机实验题 一、已知向量组A: (1)求向量组A的秩,并判断向量组A的相关性; (2)求A的一个极大无关组; (3)将其余向量组用极大无关组线性表示。
图中给出某城市部分街道的交通流量(单位:辆/小时), 二、应用型实验:交通流量问题 图中给出某城市部分街道的交通流量(单位:辆/小时), x3 100 x6 x4 400 300 200 x2 x5 x7 300 x8 x1 600 500 200 400 300 500 x9 x10 600 700
假设 (1)全部流入网络的流量等于全部流出网络的流量; (2)全部流入一个节点的流量等于全部流出此节点的流量。 试建立数学模型确定该交通网络未知部分的具体流量。 1、实验目的 学会应用线性代数中线性方程组的有关知识建立交通流量问题数学模型,并用数学软件求其问题的全部解。
2、预备知识 线性代数中线性方程组的解法。 3、实验内容与要求 (1) 由已知条件及假设建立10元线性方程 组。 (2) 由Matlab软件求出其通解。