论文部分内容阅读
线性代数是讨论有限空间中线性关系经典理论的课程,是高职院校工科各专业的一门重要必修课,它逻辑性强、计算技巧高、具有较强的抽象性。而MATLAB软件是由美国Mathworks公司于1984推出的科技应用软件,具有数值和符号计算,计算结果和编程可视化,数学和文字统一处理,离线和在线计算等强大功能,尤其在矩阵运算方面有具大的应用。是进行线性代数课程辅助教学的有益工具。在教学中应该把两者很好地结合起来,发挥现代科技的作用。
理论基础
线性代数主要解决了解元线性方程组解的问题。元线性方程组分为奇次线性方程组和非奇次线性方程组,奇次线性方程组的解有三种情况:(1)有唯一的零解(2)无解(3)有无穷多解。非奇次线性方程组的解也有三种情况:(1)有唯一的解(2)无解(3)有无穷多解。下面就MATLAB在求解元线性方程组的唯一解、特解、通解问题上,来看MATLAB在线性代数上的应用。
应用举例
1.求线性齐次方程组的通解()
齐次线性方程组的矩阵形式为
既其中,
如果齐次线性方程组的系数矩阵的秩数,方程组有唯一零解,如果齐次线性方程组的系数矩阵的秩数,则方程组的基础解系存在,且每个基础解系中,恰含有个解,在Matlab中建立M文件如下:
%以下所有程序都已在matlab下调试运行
A=input(‘请输入方程组系数矩阵a=’)
disp(a)
r=rank(a);
if r==0
disp(‘方程组有唯一的零解’)
end
if r~=0
bs=null(a);
end
bs% X= k1*bs(:,1)+ k2*bs(:,2)+……+k(nr)*bs(:,nr)方程组的通解。
2.求非线性线性方程组的唯一解或特解。要非线性线性方程组有唯一解,必须满足方程组的系数行列式不为零,可用逆矩阵法、矩阵的LU分解法、QR分解法和cholesky分解法求方程组的解,在Matlab中建立M文件如下(程序1)
a=input(‘请输入方程组系数矩阵a:’)%输入方程组的系数矩阵(a)为方阵
disp(a)
b=input(‘请输入b矩阵:’)%输入方程组右边的矩阵b
disp(b)
[m,n]=size(a)%求系数矩阵的行(m)和列(n)的大小
if m~=n
x=rref([a:b])
disp(x)%若a不是方阵则x是特解
end
de=det(a);
if de==0
disp(‘a矩阵奇异请检查!’)
end
x1=inv(a)*b
disp(x1)%x1是逆矩阵法求出的解
[L,U]=lu(a);
X2=U\(L\b)
disp(x2)%x2是LU分解法求出的解
[Q,R]=qr(a)
X3=R\(Q\b)
disp(x3)%x3是QR分解法求出的解
[R’,R]=chol(a);
X4=R\(R’\b)%x4是cholesky分解法求出的解
disp(x4)
例求方程组的解。
解:由程序1,输入a=[5 6 1 2 3;1 5 6 10 7;2 1 5 6 4;1 1 1 5 6;3 2 4 1 5];b=(1,0,0,0,1)’由于rank(A)=5,rank()=5,|a|≠0,即为R(A)=R()=n的情形,有唯一解。
=[481/2081,229/9782,629/9782,305/9782,28/4891]x4解出错。
如输入b=(1,2,3,4,5)’由于rank(A)=5,rank()=4虽然|a|≠0,但R(A)≠R(),则显示无解。
3.求非齐次线性方程组的通解()
非齐次线性方程组需要先判断方程组是否有解,若有解,则通解=对应齐次方程组的通解+非齐次方程组的一个特解;在Matlab中建立M文件如下(程序2)
clear all
a=input(‘请输入方程组系数矩阵a:’)%输入方程组的系数矩阵(a)为方阵
disp(a)
b=input(‘请输入b矩阵:’)%输入方程组右边的矩阵b
disp(b)
[m,n]=size(a)%求系数矩阵的行(m)和列(n)的大小
[m,n]=size(A);
R=rank(A);
B=[A b];
Rr=rank(B);
format rat
if R==Rr&R==n%n为未知数的个数,判断是否有唯一解
x1=A\b;
elseif R==Rr&R x=A\b%求特解
C=null(A,‘r’)%求的基础解系,所得C为列矩阵,这列即为对
%应的基础解系
%这种情形方程组通解xx=k(p)*C(:,P)(p=1…nR)
else X=‘No solution!’ %判断是否无解
end
例子:求方程组的通解。
解:由程序2,输入=[1 1 1 1 1;3 2 1 1 3;0 1 2 2 6;5 4 3 3 5];=[7 2 23 12]’得=[9/2 0 23/2 0 1/ 296468788895664]
=[1 2 1 0 0];=[1 2 0 1 0]
所以方程组的通解为:
由以上例子可以看出,在线性代数教学中应用MATLAB具有很大的优越性,它是数学发展的需要,更是高职院校培养21世纪创新型、实践型人才的需要。随着办学条件的改善,常规的《线性代数》教学将激发更大的活力。
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
理论基础
线性代数主要解决了解元线性方程组解的问题。元线性方程组分为奇次线性方程组和非奇次线性方程组,奇次线性方程组的解有三种情况:(1)有唯一的零解(2)无解(3)有无穷多解。非奇次线性方程组的解也有三种情况:(1)有唯一的解(2)无解(3)有无穷多解。下面就MATLAB在求解元线性方程组的唯一解、特解、通解问题上,来看MATLAB在线性代数上的应用。
应用举例
1.求线性齐次方程组的通解()
齐次线性方程组的矩阵形式为
既其中,
如果齐次线性方程组的系数矩阵的秩数,方程组有唯一零解,如果齐次线性方程组的系数矩阵的秩数,则方程组的基础解系存在,且每个基础解系中,恰含有个解,在Matlab中建立M文件如下:
%以下所有程序都已在matlab下调试运行
A=input(‘请输入方程组系数矩阵a=’)
disp(a)
r=rank(a);
if r==0
disp(‘方程组有唯一的零解’)
end
if r~=0
bs=null(a);
end
bs% X= k1*bs(:,1)+ k2*bs(:,2)+……+k(nr)*bs(:,nr)方程组的通解。
2.求非线性线性方程组的唯一解或特解。要非线性线性方程组有唯一解,必须满足方程组的系数行列式不为零,可用逆矩阵法、矩阵的LU分解法、QR分解法和cholesky分解法求方程组的解,在Matlab中建立M文件如下(程序1)
a=input(‘请输入方程组系数矩阵a:’)%输入方程组的系数矩阵(a)为方阵
disp(a)
b=input(‘请输入b矩阵:’)%输入方程组右边的矩阵b
disp(b)
[m,n]=size(a)%求系数矩阵的行(m)和列(n)的大小
if m~=n
x=rref([a:b])
disp(x)%若a不是方阵则x是特解
end
de=det(a);
if de==0
disp(‘a矩阵奇异请检查!’)
end
x1=inv(a)*b
disp(x1)%x1是逆矩阵法求出的解
[L,U]=lu(a);
X2=U\(L\b)
disp(x2)%x2是LU分解法求出的解
[Q,R]=qr(a)
X3=R\(Q\b)
disp(x3)%x3是QR分解法求出的解
[R’,R]=chol(a);
X4=R\(R’\b)%x4是cholesky分解法求出的解
disp(x4)
例求方程组的解。
解:由程序1,输入a=[5 6 1 2 3;1 5 6 10 7;2 1 5 6 4;1 1 1 5 6;3 2 4 1 5];b=(1,0,0,0,1)’由于rank(A)=5,rank()=5,|a|≠0,即为R(A)=R()=n的情形,有唯一解。
=[481/2081,229/9782,629/9782,305/9782,28/4891]x4解出错。
如输入b=(1,2,3,4,5)’由于rank(A)=5,rank()=4虽然|a|≠0,但R(A)≠R(),则显示无解。
3.求非齐次线性方程组的通解()
非齐次线性方程组需要先判断方程组是否有解,若有解,则通解=对应齐次方程组的通解+非齐次方程组的一个特解;在Matlab中建立M文件如下(程序2)
clear all
a=input(‘请输入方程组系数矩阵a:’)%输入方程组的系数矩阵(a)为方阵
disp(a)
b=input(‘请输入b矩阵:’)%输入方程组右边的矩阵b
disp(b)
[m,n]=size(a)%求系数矩阵的行(m)和列(n)的大小
[m,n]=size(A);
R=rank(A);
B=[A b];
Rr=rank(B);
format rat
if R==Rr&R==n%n为未知数的个数,判断是否有唯一解
x1=A\b;
elseif R==Rr&R
C=null(A,‘r’)%求的基础解系,所得C为列矩阵,这列即为对
%应的基础解系
%这种情形方程组通解xx=k(p)*C(:,P)(p=1…nR)
else X=‘No solution!’ %判断是否无解
end
例子:求方程组的通解。
解:由程序2,输入=[1 1 1 1 1;3 2 1 1 3;0 1 2 2 6;5 4 3 3 5];=[7 2 23 12]’得=[9/2 0 23/2 0 1/ 296468788895664]
=[1 2 1 0 0];=[1 2 0 1 0]
所以方程组的通解为:
由以上例子可以看出,在线性代数教学中应用MATLAB具有很大的优越性,它是数学发展的需要,更是高职院校培养21世纪创新型、实践型人才的需要。随着办学条件的改善,常规的《线性代数》教学将激发更大的活力。
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。