线性代数的基本运算文档格式.docx
- 文档编号:13505373
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:32
- 大小:270.83KB
线性代数的基本运算文档格式.docx
《线性代数的基本运算文档格式.docx》由会员分享,可在线阅读,更多相关《线性代数的基本运算文档格式.docx(32页珍藏版)》请在冰豆网上搜索。
,
5.1.3MatLab计算行列式的命令
det(var)%计算方阵var的行列式
例1计算行列式的值
在MatLab命令窗口输入:
A=[1,-3,2,2;
-3,4,0,9;
2,-2,6,2;
3,-3,8,3]
det(A)
执行结果:
A=1-322
-3409
2-262
3-383
ans=-50
例2计算行列式的值,其中a,b,c,d是参数.
symsabcd
A=[a,1,0,0;
-1,b,1,0;
0,-1,c,1;
0,0,-1,d]
A=[a,1,0,0]
[-1,b,1,0]
[0,-1,c,1]
[0,0,-1,d]
ans=a*b*c*d+a*b+a*d+c*d+1
例3求方程的根.
(1)先求行列式的值
symsx
A=[1,1,1,1;
1,-2,2,x;
1,4,4,x*x;
1,-8,8,x^3]
y=det(A)
A=
[1,1,1,1]
[1,-2,2,x]
[1,4,4,x^2]
[1,-8,8,x^3]
y=-12*x^3+48*x+12*x^2-48
(2)求3次方程的根.
首先通过函数的图形确定根的大致范围,
gridon
ezplot(y)
图1
观察图1,可知3个根大致在-2,0,4附近,下面求精确值,
yf=char(y);
g1=fzero(yf,-2)
g2=fzero(yf,0)
g3=fzero(yf,4)
g1=-2
g2=1.0000
g3=2.0000
可知方程的3个根分别为-2,1,2.
5.1.4用MatLab实现克拉默法则
(1)克拉默法则
非齐次线性方程组方程组
当其系数行列式时,此方程组有唯一解,
且可表示为
其中是把系数行列式中第j列的元素用方程组右端的常数项代替后所得到的n阶行列式,即
对于齐次线性方程组
当其系数行列式
时,此方程组有唯一零解;
当D=0时,方程组有非零解.
(2)编写函数klm.m实现用克拉默法则求解非齐次线性方程组.
functionx=klm(a,b)%参数a代表方程组的系数矩阵,列矩阵b代表方程组的常数列,
%返回方程组的解
[m,n]=size(a);
if(m~=n)
disp('
克拉默法则不适用此方程组的求解!
'
)
else
d=det(a);
if(d==0)
disp('
该方程组没有唯一解!
else
该方程组有唯一解!
fori=1:
m
e=a;
e(:
i)=b;
f=det(e);
x(i)=f/d;
end
end
例4用克拉默法则解下列方程组:
操作步骤:
D=[1,1,1,1;
1,2,-1,4;
2,-3,-1,-5;
3,1,2,11];
A=[5;
-2;
0];
klm(D,A)
ans=123-1
方程组的解为
例5问a取何值时,齐次方程组
有非零解?
根据齐次方程组有非零解,系数行列式为零,用MatLab操作步骤如下:
symsx
A=[5-x,2,2;
2,6-x,0;
2,0,4-x];
yy=det(A)
ezplot(yy,[0,10])
行列式的值为:
yy=80-66*x+15*x^2-x^3
作函数yy的图形,如图2
观察图2,可知根大致在2,5,8
附近,再输入命令:
yf=char(yy);
x1=fzero(yf,2)
x2=fzero(yf,5)
x3=fzero(yf,8)
x1=2
x2=5
x3=8
即a取2,5,或8时,齐次方程组有非零解。
5.2矩阵及其运算
5.2.1矩阵的定义
由个数排成的m行n列的数表
称为m行n列矩阵,简称矩阵.记作
5.2.2矩阵的运算
设有两个矩阵和,则
(1)加法
MatLab对应求矩阵加法的操作符为”+”
(2)数乘
MatLab对应求矩阵数乘的操作符为”*”
(3)矩阵与矩阵相乘
设矩阵是矩阵,是矩阵,则矩阵A与矩阵B的乘积是一个矩阵,其中
把此乘积记作C=AB
MatLab对应求矩阵乘积的操作符为”*”
(4)矩阵的转置
设矩阵是矩阵,把矩阵A的行换成同序数的列得到一个矩阵,叫A的转置矩阵,记作.
在MatLab对应求矩阵转置的操作符为“’“
(5)方阵的行列式
设矩阵是矩阵,由A的元素构成的行列式(各元素的位置不变),称为方阵A的行列式,记作或detA.
MatLab对应求方阵行列式的命令为:
det(var)%var代表待求行列式的方阵
(6)方阵的逆矩阵
设矩阵是矩阵,若有一个n阶矩阵B,使AB=BA=E,则说矩阵A可逆,矩阵B称为A的逆矩阵.记为
逆矩阵的判别定理:
若,则矩阵A可逆,且,其中是矩阵A的伴随矩阵,由行列式的各个元素的代数余子式所构成的,.
MatLab对应求方阵逆的命令为:
inv(var)%var代表待求逆矩阵的方阵
下面按公式,用MatLab编写程序求矩阵的逆:
functiony=aij(A,i,j)%求方阵A元素aij的代数余子式Aij,
C=A;
C(i,:
)=[];
C(:
j)=[];
y=(-1)^(i+j)*det(C);
functiony=axing(A)%求方阵A伴随矩阵
[mn]=size(A);
fori=1:
n
forj=1:
y(i,j)=aij(A,j,i);
则方阵A的逆等于axing(A)/det(A)
例6设,,问3AB-2ATB是否可逆?
若该矩阵可逆求它的逆.
在MatLab创建m文件knf.m完成该问题的操作:
A=[1,1,1;
1,1,-1;
1,-1,1];
B=[1,2,3;
-1,-2,4;
0,5,1];
C=3*A*B-2*A'
*B;
dc=det(C);
ifdc==0
此矩阵不可逆!
else
此矩阵可逆!
其逆矩阵为:
inv(C)
在MatLab命令窗口输入
knf
ans=
-0.38570.51430.5000
0.0857-0.11430
0.07140.07140
5.3矩阵的初等变换
5.3.1下面三种变换称为矩阵A的初等行(列)变换:
(1)对调i,j两行(列);
(2)以数乘矩阵A的第i行(列)中所有元素;
(3)把第i行(列)所有元素的k倍加到第j行(列)的元素上去;
用MatLab实现以上初等行变换:
(1)A([i,j],:
)=A([j,i],:
(2)A(i,:
)=k*A(i,:
(3)A(j,:
)+A(j,:
5.3.2用矩阵初等变换化矩阵为行最简形.
行最简形的特点是:
可画出一条阶梯线,线的下方全为0,每个台阶只有一行,台阶数即为非零行的行数,阶梯线的竖线后面的第一个元素为非零元,非零行的第一个非零元为1,且这些非零元所在的列的其他元素都为0.
MatLab对应化矩阵为行最简形的命令为:
rref(var)%var代表待化为行最简形的矩阵
例7把矩阵化为行最简形矩阵。
A=[1,2,2,1;
2,1,-2,-2;
1,-1,-4,-3];
formatrat%以分数的形式显示结果
rref(A)
10-2-5/3
0124/3
0000
5.3.3初等变换的应用
(1)求矩阵A的逆矩阵:
把分块矩阵(A,E)经过初等行变换化成(E,B),矩阵B就是所求矩阵A的逆矩阵.
例8用初等变换求矩阵的逆矩阵.
在MatLab创建ni.m函数文件,完成用初等变换求矩阵的逆。
functiony=ni(a)
da=det(a);
ifda==0
[mn]=size(a);
e=eye(n);
d=rref([ae]);
y=d(:
(n+1):
2*n);
3,-3,8,3];
ni(A)
-0.5200-0.0400-4.04003.1600
-0.48000.0400-0.96000.8400
001.5000-1.0000
0.04000.0800-0.92000.6800
(2)求矩阵的秩:
在矩阵A中,任取k行k列,位于这些行列交叉处的个元素,不改变它们在A中所处的位置次序而得到的k阶行列式称为矩阵A的k阶子式。
设在矩阵A中有一个不等于0的r阶子式D,且所有的r+1阶子式全等于0,那么D称为矩阵A的最高阶非零子式,数r称为矩阵的秩,记作R(A).
有关矩阵A的秩的性质:
(a)矩阵A有一个r阶子式不为零,则;
矩阵A所有r阶子式都等于零,则。
(b)
(c)
(d)若,则
(e)若P,Q可逆,则
(f)
(g)
(h)
(i)若,则
求矩阵A秩的方法:
方法1:
把矩阵A经过初等行变换化成行阶梯形,非零的行数就
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性代数 基本 运算