线性方程组的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

线性方程组的应用

线性方程组是线性代数的主要研究对象之一,它的理论严谨、发展完善、处理问题方法独特,可应用于解决各个领域的实际问题。在代数理论中,借助于方程组可以判断向量组的线性相关,可以求矩阵的特征向量等;在几何、物理、化学、经济、生物、食品等许多方面,方程组也有着广泛的应用。

应用一.线性方程组在空间解析几何中的应用

1.1.线性方程组表示平面,判断平面的位置关系

在空间解析几何中,任一平面可以用三元一次方程01111=+++D z C y B x A 表示,下面用方程组解的判定来判别两个平面的位置关系。

设两个平面

Ⅱ1:01111=+++D z C y B x A

Ⅱ2:02222=+++D z C y B x A

则Ⅱ1,Ⅱ2间的相互关系有下面三种情形:

(1)当⎥⎦

⎤⎢⎣⎡≠⎥⎦⎤⎢⎣⎡=22221111222111D C B A D C B A R C B A C B A R ,即方程组 11112222

00A x B y C z D A x B y C z D +++=⎧⎨+++=⎩ 的系数矩阵的秩不等于其增广矩阵的秩,方程组无解,故Ⅱ1,Ⅱ2没有公共点,Ⅱ1,Ⅱ2平行且不重合。

(2)当122221*********=⎥⎦

⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡D C B A D C B A R C B A C B A R 时,方程组 11112222

00A x B y C z D A x B y C z D +++=⎧⎨+++=⎩

有无穷解,且Ⅱ1,Ⅱ2重合。

(3)当222221*********=⎥⎦

⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡D C B A D C B A R C B A C B A R 时,方程组 1111222200

A x

B y

C z

D A x B y C z D +++=⎧⎨+++=⎩ 有无穷多解,但Ⅱ1,Ⅱ2不重合,相交于一条直线。

例.1 判断平面

Ⅱ1:082=+-+z y x

Ⅱ2: 072=-++z y x

的位置关系。

解: 271128121112121=⎥⎦

⎤⎢⎣⎡--=⎥⎦⎤⎢⎣⎡-=R R 所以,平面Ⅱ1,Ⅱ2相交于一条直线L 。

1.2 三维空间应用举例

线性方程组可以应用于三维空间中,先将所考虑的问题化为一线性方程组,再

利用计算机进行求解,此种方法有进一步的推广。

例:考虑3维空间中由不等式:

⎪⎪⎪⎩⎪⎪⎪⎨⎧≤++≥++≥≥≥12

32463260

00321321

321x x x x x x x x x 决定的区域。若将不等号换成等号,它们就是空间中的5个平面。每三个平面成一组,求这三个平面的交点的坐标,可找到多少个点?对每一个点判断是否所有不等式都成立?若都成立,此点就是一个顶点,有多少个顶点?

分析问题

由于所给条件是一些不等式,对其进行求解有一些困难。我们考虑将上述不等

式中的不等号换成等号。为了统一起见,将最后一个不等式作如下等价变形:

1232412324321321-≥---⇔≤++x x x x x x

一共要求解10次方程组。当方程个数较多时,用人工方式显然效率十分低下而且准确率难以保证。由此考虑用计算机求解。

用Matlab 6.1对该问题进行求解

求解程序

A=[1,0,0;0,1,0;0,0,1;6,2,3;-4,-2,-3];%系数矩阵

B=[0;0;0;6;-12]; %常数项矩阵

General_Solution =[]; %未经判断的解矩阵

Vector_Solution =[]; %产生每组解的方程序号和解所不满足的不等式序号矩阵 None_Solution=[]; %无解方程组的方程序号矩阵

Valid_Solution=[]; %经过判断有效的解矩阵

t=1;

l=1;

Solve_equations; %方程求解

r=1;

for(s=1:t-1)

if(sum(Vector_Solution(size(A,2)+1:size(A,1),s))==0)%判断解的有效性 Valid_Solution(:,r)=General_Solution(:,s);%储存有效解

r=r+1;

end

end

General_Solution

Vector_Solution

None_Solution

Valid_Solution

其中Solve_Equations的程序如下:

for(i=1:size(A,1)-2)

for(j=i+1:size(A,1)-1)

for(k=j+1:size(A,1))

if(rank(A([i,j,k],:))==size(A,2)) %判断是否满秩

General_Solution(:,t)=inv(A([i,j,k],:))*B([i,j,k],:);%求解方程Vector_Solution(:,t)=[i;j;k;zeros(size(A,1)-size(A,2),1)];%记录方程序号

r=size(A,2)+1;

for(s=1:size(A,1))

if(s~=i&s~=j&s~=k)%寻找另外的不等式序号

if(A(s,:)*General_Solution(:,t)

Vector_Solution(r,t)=s;%记录不满足的不等式序号

r=r+1;

end

end

end

t=t+1;

else

None_Solution(:,l)=[i;j;k];%记录无解方程组的方程序号

相关文档
最新文档