科学计算软件在线性代数课程中的应用
- 格式:pdf
- 大小:273.93 KB
- 文档页数:5
第32卷 2012链 第5期
9月 高师理科学刊
Journal of Science of Teachers CoHege and University VoI.32 No.5
Sep.2012
文章编号:1007—983 1(2012)05~0092—05
科学计算软件在线性代数课程中的应用
肖启华,张丽蕊
(上海海洋大学信息学院,上海201306)
摘要:运用Matlab编程实现了含一个参数的恰定非齐次线性方程组有解的判定,该程序比较智能,
用户只需要根据提示输入线性方程组的系数矩阵和常数项向量,进行少量的选择就能得到方程组
有解的判定.文中例子体现了软件编程在大学数学基础课程上的应用,这些应用可以提高学生学
习基础课程的兴趣,能加强学生使用软件编程的能力.
关键词:Matlab软件;参数;非齐次线性方程组;解
中图分类号:0151 文献标识码:A doi:10.3969 ̄.issn.1007—9831.2012.05.028
The application of scientific computing software in the linear algebra course
XIAO Qi-hua,ZHANG Li-rui
(School ofInformation,Shanghai Ocean University,Shanghai 201306,China)
Abstract:By using of Matlab programming,a program was developed to determine the solvability of the appropriate
set non—homogeneous linear equations contained a parameter.The program is intelligent,by using this program,users
only need to prompt for the coefficient matrix of linear equations and the constant vector,and the small amount of
participation can be to determine the solvability of equations.The examples shows some application of computer
software programming in the basic professional mathematics courses,those application can improve students
interest in basic courses,enhance students programming capacity,
Key words:Matlab;parametric;non—homogeneous linear equations;solution
信息时代给我们提供了许多学习工具,Matlab是美国MathWorks公司出品的商业科学计算软件,该软
件在矩阵运算方面有巨大的应用,而且为用户提供了一个人机交互的数学系统环境,是大学数学课程辅助
教学的有益工具 .
线性代数是一门基础课,而线性方程组解的理论是线性代数的主要内容之一,用Matlab求解不含参数
的线性方程组比较方便 ,但对于含参数的线性方程组,Matlab没有直接判断其解的情况的命令和函数.本
文在Matlab语言环境下,编写了含一个参数的恰定非齐次线性方程组有解的判定程序.该程序比较智能:
在参数出现在系数矩阵中的情况下,用户只需要根据程序提示输人方程组的系数矩阵和常数项就能得到方
程组有解的判定;在当参数只出现在常数项中的情况下,用户只要根据程序提示输人方程组的系数矩阵和
常数项,选择系数矩阵的最高阶非零子式的行就能得到方程组有解的判定.当方程组有解的情况下,程序
会给出方程组增广矩阵的行最简型,从而让用户可以迅速地写出原方程组的通解.
收稿日期:2012-05—20 基金项目:上海海洋大学首届人才计划——海燕计划(B一5003—11—0056) 作者简介:肖启华(1976一),女,湖南汉寿人,讲师,硕士,从事代数教学、金融数学研究.E-mail:qkxiao@shou.edu.
an 第5期 肖启华,等:科学计算软件在线性代数课程中的应用
1非齐次线性方程组解的判定理论
1.1 恰定非齐次线性方程组定义
形如
all 1+a12x2.4-…+aln n=b1
n21 1+a22x2+…+n2一 n=b2 (1)
anlX1+an2X2+…-4-ann n=b
(其中:b (1≤i≤n)不全为零)的方程组称为恰定非齐次线性方程组.
方程组(1)的矩阵形式为
A X=B (2)
其中:A 为n阶方阵,称为方程组的系数矩阵;B为方程组的常数项构成的 元列向量;x为方程组的
未知数组成的n元列向量.
方程组(1)的向量形式为
1cz1+ 2‘ 2+…+ n n=B
其中: , 2,…, 为方程组系数矩阵A 的列向量,即A =(oc ,以2,
1.2非齐次线性方程组有解的判定
利用矩阵的秩,容易判断方程组解的存在情况.
定理1【5J 元非齐次线性方程组(2)有解的充分必要条件是系数矩阵A的秩等于增广矩阵
A=(A,曰)的秩.有解时,若A的秩等于n,则方程组有唯一解;若A的秩小于n,则方程组有无数个解.
定理2t ””方程组(3)有解当且仅当向量 可由向量 , ,…, 线性表示.
2含一个参数的恰定非齐次线性方程组有解判定的Matlab方法
2.1 系数矩阵中含参数的非齐次-I合定线性方程组解的判定
对于系数中含参数的恰定非齐次线性方程组,根据克拉默法则:当系数矩阵的行列式不为零时方程组
有唯一解;当系数矩阵的行列式为零时,方程组可能有无数个解,可能没有解,解的情况可以由定理1判
定.因此,讨论此类方程组当参数取何值时有解,可以直接从令方程组系数矩阵的行列式为零开始.
求解思路与Matlab 程序:
程序命名为Example1(程序通过了Matlab检验):
提示参数使用的字母、输入方程组系数矩阵与常数项向量,生成方程组增广矩阵.
syms a B=input(常数项向量B=’);%提示输入方程组常数项 input(渗数请用字母a表示’); 矩阵
A=input(’系数矩阵A=’); %提示输入方程组系数矩 n=length(B); %n为方程组中未知数个数
阵 Aba=[A,B】; %生成方程组的增广矩阵 运用克拉默法则,以系数矩阵行列式不为零为条件,求方程组有唯一解时参数的值以及解.
F=solve(det(A)); %将系数矩阵A的行列式的参数 end
值放入向量F中 %以下代码为求参数取值为使IAI=0的参数值时方程
%以下代码为提取使得IAI=0的不同的参数值 的解
i=length(F); F=double(F);
while i>0 fprinff(’when a is not%d.the linear equations has
forj=l:i-1 unique solution;kn’,F) if F(i)==F(j) fprinff(’and the solution is’1
F(i)=口; fori=I:n
break C=A;
end C(:,i)=B; end X(i)-factor(det(C))/factor(det(A)); %X为根据克拉
i=i一1; 默法则求出的方程组的解 、 - 3 /●\ , 2 l , = ●, \,
a 高师理科学刊 第32卷
end X 当参数使得系数矩阵行列式为零时,利用定理1,以系数矩阵的秩等于增广矩阵的秩为条件,求方程
组有无穷解时参数的值并输出此时方程组增广矩阵的行最简形;以系数矩阵的秩不等于增广矩阵的秩为条
件,求方程组无解时参数的值.
for i=1:length(F) else
if rank(subs(Aba,a,F(i)))==rank(subs(A,a,F(i)))
&rank(subs(A,a,F(i)))<n fprintf(’when a=%d,the linear equations have
infinitely many solutions!And the reduced row echelon form of
augmentedmatrixAbais:kn’,F(i)), fprintf(’when a=%d,the linear equations have no solutions!Because the rank of A is%d.and the rank of
augmented matrix Aba is%d.\n’,F(i),rank(subs(A,a,F(i))),
rank(subs(Aba,a,F(i))))
end
rref(subs(Aba,a, I1))) end fax1+x2+x3=a一3 例1讨论方程组{ +ax:+x,=-2,当a取什么值的时候有解,并求其解.
1 1+ 2+ax3=一2
解运行Matllab程序如下:
>>Example1 参数请用字母a表示
系数矩阵A=【a 1 1;1 a 1;1 1 a]
常数项向量B=[a-3;-2;-2]
when aisnot-2,thelinearequationshasunique solution;
when a is not 1,the linear equations has unique solution;
and the solution is X=【(a-1)/(a+2), -3/(a+2), -3/(a+2)]
when a=一2.the linear equations have no solutions!Because the rank of A is 2 and the rank of augmented matrix Aba is 3. when a=l,the linear equations have infinitely many solutions! And the reduced row echelon form of augmented matrixAba is:
arts:1 1 1 —2
0 0 0 0
O 0 0 0.
由Matlab解答可得:
①当以≠一2,1时,原线性方程组有唯一解 =(詈曼, , ] .
②当a=1时,原线性方程组有无数个解;且由Matlab给出的当a=1时增广矩阵的行最简型可知,此
时方程组的通解为,70+klr/l++足2r/2,其中:k1,k2为任意常数;r/o=(-2,0,0) ;r/l=(1,1,0) ;
,72=(1,0,1) .
2-2参数只出现在常数项中的恰定非齐次线性方程组解的判定
参数只出现在常数项中的恰定非齐次线性方程组,因为其系数矩阵中不含参数,故系数矩阵的秩是固