9实验十一十二主要命令资料.docx
- 文档编号:4817669
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:25
- 大小:122.16KB
9实验十一十二主要命令资料.docx
《9实验十一十二主要命令资料.docx》由会员分享,可在线阅读,更多相关《9实验十一十二主要命令资料.docx(25页珍藏版)》请在冰点文库上搜索。
9实验十一十二主要命令资料
实验十一向量、矩阵与行列式
一实验目的
掌握矩阵的输入方法.掌握利用MATLAB命令对矩阵进行转置、加、减、数乘、相乘、乘方等运算,以及求逆矩阵和计算行列式.
二学习MATLAB命令
1.向量的生成
(1)在“命令”窗口中直接输入向量
把向量元素用”[]”括起来,元素之间用空格、逗号或分号相隔。
需要注意的是,用空格或逗号相隔生成行向量;用分号相隔生成列向量。
(2)使用向量的生成函数
冒号生成法:
vec=vec0:
n:
vecn
vec表示生成的向量,vec0表示第一个元素,n表示步长,vecn表示最后一个元素。
线性等分向量函数linspace:
vec=linspace(vec0,vecn,n)
vec表示生成的向量,vec0表示第一个元素,vecn表示最后一个元素,n表示生成向量元素的个数。
2.向量的点积、叉积和混合积
当向量a,b,c具有相同的维数时,
dot(a,b)或sum(u.*v)%计算出向量a与b的点积;
%就是内积,对应元素相乘再相加
cross(a,b)%计算三维向量a与b的叉积;
dot(a,cross(b,c))%计算三维向量a,b,c的混合积.
3.矩阵的生成
(1)在“命令”窗口中直接输入矩阵
把矩阵的元素直接排列到方括号中,每行内的元素用空格或逗号相隔,行与行之间用分号相隔。
(2)通过语句和函数产生矩阵
如在命令窗口中输入如下语句,并按Enter键确认
fori=1:
5,
forj=1:
5,
a(i,j)=1/(i+j-1);
end
end
a%a为Hilbert矩阵hilb(5)
zeros(m,n)%生成m×n阶零矩阵;
ones(m,n)%生成m×n阶全1矩阵;
eye(n)%生成n阶单位阵;
rand(m,n)%生成m×n阶随机矩阵,其元素值在区间(0.0,1.0)之间;
randn(n)%生成n阶随机矩阵,其元素值服从正态分布N(0,1);
J=magic(n)%生成n阶魔术矩阵,其每行、每列及每条主对角线的元素和相等;
K=hilb(n)%生成n阶Hilbert矩阵;
L=invhilb(n)%生成n阶Hilbert逆矩阵;
v=[1,2,4,5];E=diag(v)%生成主对角线上的元素为1,2,4,5的对角矩阵;
v=[12345];M=vander(v)%生成5阶范德蒙德矩阵。
(3)在M文件中建立矩阵
(4)在外部的数据文件中导入矩阵
4.命令transpose(A)或A',给出矩阵A的转置
.
5.同型矩阵A与B的加法,用A+B表示;数k与矩阵A的乘法,用k*A表示;矩阵A与矩阵C的乘法用A*C表示;矩阵A与矩阵C的除法A/C表示
;命令A^n给出方阵A的n次幂.
6.命令inv(A),给出方阵A的逆.
7.运用det(A)命令可以求得一个方阵A的行列式.
三实验内容
1.向量的输入与向量的基本运算
例1:
练习向量的输入,并求向量的转置.
输入
a1=[1,3,5,7,9]%输入行向量
a2=[13579]%输入行向量,逗号可以用空格代替
a3=[1;3;5;7;9]%输入列向量
输出
a1=
13579
a2=
13579
a3=
1
3
5
7
9
a4=
1
3
5
7
9
例2:
等差元素向量的生成.
输入
vec1=10:
5:
80%10为第一个元素,5为步长,80为最后一个元素
vec2=linspace(10,80,15)%10为第一个元素,80为最后一个元素,15为生成向量的元素个数
输出
vec1=
101520253035404550556065707580
Vec2=
101520253035404550556065707580
例3求向量
与
的点积、叉积及w=[5,2,1]混合积.
提示:
cross(u,v)=
向量的叉积公式,即计算既垂直于u、又垂直于v的向量w.
输入
u=[1,2,3];
v=[1,-1,0];
a=dot(u,v)%用向量的点积函数dot计算向量的内积
b=sum(u.*v)%采用sum函数计算向量的内积
输出
a=-1
b=-1
输入
w=cross(u,v)%用向量的叉积函数cross计算向量的叉积
输出
w=
33-3
输入
w=[5,2,1];
dot(w,cross(u,v))%计算向量的混合积
输出
18
2.特殊矩阵的生成
例4:
特殊矩阵的生成.
输入
A=zeros(3,5)%生成3×5阶零矩阵
B=zeros(4)%生成4阶零矩阵
C=ones(3,5)%生成3×5阶全1矩阵
D=ones(4)%生成4阶全1矩阵
输出
A=
00000
00000
00000
B=
0000
0000
0000
0000
C=
11111
11111
11111
D=
1111
1111
1111
1111
输入
v=[1,2,3,4];
E=diag(v)%生成主对角线上的元素为1,2,3,4的对角矩阵
F=diag(v,2)%生成在偏离主对角线以上两列的位置矩阵元素为1,2,3,4,其余为0
G=diag(v,-1)%生成在偏离主对角线以下一列的位置矩阵元素为1,2,3,4,其余为0
输出
E=
1000
0200
0030
0004
F=
001000
000200
000030
000004
000000
000000
G=
00000
10000
02000
00300
00040
输入
H=rand(2,3)%生成3×2阶随机矩阵,其元素值在区间(0.0,1.0)之间
I=randn(3)%生成3阶随机矩阵,其元素值服从正态分布N(0,1)
J=magic(4)%生成4阶魔术矩阵,其每行、每列及每条主对角线的元素和相等
输出
H=
0.92180.17630.9355
0.73820.40570.9169
I=
-0.0956-1.3362-0.6918
-0.83230.71430.8580
0.29441.62361.2540
J=
162313
511108
97612
414151
输入
K=hilb(3)%生成3阶Hilbert矩阵
L=invhilb(3)%生成3阶Hilbert逆矩阵
输出
K=
1.00000.50000.3333
0.50000.33330.2500
0.33330.25000.2000
L=
9-3630
-36192-180
30-180180
输入
v=[12345];
M=vander(v)%生成5阶范德蒙德矩阵
输出
M=
11111
168421
8127931
256641641
6251252551
3.矩阵A的转置函数transpose(A)
例5:
求矩阵的转置.
输入
A=[1,3,5,1;7,4,6,1;2,2,3,4]
B=transpose(A)
输出
A=
1351
7461
2234
B=
172
342
563
114
4.矩阵的加法,数乘和矩阵乘法
例6:
设
,求A+B,4B-2A.
输入
A=[3,4,5;4,2,6];
B=[4,2,7;1,9,2];
C=A+B
D=4*B-2*A
输出
C=
7612
5118
D=
10018
-432-4
如果矩阵A的列数等于矩阵B的行数,则可进行求AB的运算.系统中乘法运算符为”*”,即用A*B求A与B的乘积.对方阵A,可用A^n求其n次幂.
例7设
求矩阵A与B的乘积.
输入
A=[3,4,5,2;4,2,6,3];
B=[4,2,7;1,9,2;0,3,5;8,4,1];
A*B
输出
ans=
326556
425665
输入
hilb(3)*invhilb(3)%生成3阶Hilbert矩阵左乘3阶反Hilbert矩阵
输出
ans=
100
010
001
例8设
求
与
并求
.
输入
A=[4,2,7;1,9,2;0,3,5];
B=[1;0;1];
A*B
输出为
ans=
11
3
5
这是列向量B右乘矩阵A的结果.如果输入
transpose(B)*A
输出为
ans=
4512
这是行向量B左乘矩阵A的结果
.
输入
A^3
输出
ans=
119660555
141932444
54477260
5.求方阵的行列式
运用det命令可以求得一个方阵的行列式.
例9:
求行列式
.
输入
A=[3,1,-1,2;-5,1,3,-4;2,0,1,-1;1,-5,3,-3];
det(A)
输出
ans=40
例10:
求
.
输入
symsabcd
A=[a^2+(1/a)^2a1/a1;b^2+(1/b)^2b1/b1;c^2+(1/c)^2c1/c1;d^2+(1/d)^2d1/d1];
det(A)
输出
(-c^2*d*b^3-c*d^2*a^3-b^2*d*a^3-c^3*d^2*b-b*c^2*a^3+c*d^2*b^3+c^2*d*a^3-b^3*d^2*a+b*d^2*a^3+c*d^2*b^3*a^4-c^2*d*b^3*a^4-c^3*d^2*b*a^4+c^3*d*b^2*a^4+c^2*d^3*b*a^4-c*d^3*b^2*a^4-c*d^2*a^3*b^4+c^2*d*a^3*b^4+c^3*d^2*a*b^4-c^3*d*a^2*b^4-c^2*d^3*a*b^4+c*d^3*a^2*b^4+c^3*d*b^2+c^2*d^3*b-c*d^3*b^2+c^3*d^2*a-c^3*d*a^2-c^2*d^3*a+c*d^3*a^2+b^3*d*a^2+b^2*d^3*a-b*d^3*a^2+b^2*c*a^3+b^3*c^2*a-b^3*c*a^2-b^2*c^3*a+b*c^3*a^2+b*d^2*a^3*c^4-b^2*d*a^3*c^4-b^3*d^2*a*c^4+b^3*d*a^2*c^4+b^2*d^3*a*c^4-b*d^3*a^2*c^4-b*c^2*a^3*d^4+b^2*c*a^3*d^4+b^3*c^2*a*d^4-b^3*c*a^2*d^4-b^2*c^3*a*d^4+b*c^3*a^2*d^4)/a^2/c^2/d^2/b^2
再输入
simple(det(A))
输出
(d-c)*(-c+b)*(-d+b)*(-c+a)*(-d+a)*(-b+a)*(c*d*b*a-1)/a^2/c^2/d^2/b^2
例11计算范德蒙行列式
.
输入
symsx1x2x3x4x5
A=[1,1,1,1,1;x1x2x3x4x5;(x1)^2(x2)^2(x3)^2(x4)^2(x5)^2;(x1)^3(x2)^3(x3)^3(x4)^3(x5)^3;(x1)^4(x2)^4(x3)^4(x4)^4(x5)^4];
d1=simple(det(A))
d2=factor(det(A))
输出
d1=
(-x5+x4)*(x3-x5)*(x3-x4)*(-x5+x2)*(x2-x4)*(x2-x3)*(-x5+x1)*(x1-x4)*(x1-x3)*(x1-x2)
d2=
(-x5+x4)*(x3-x5)*(x3-x4)*(-x5+x2)*(x2-x4)*(x2-x3)*(-x5+x1)*(x1-x4)*(x1-x3)*(x1-x2)
关于factor的例子:
symsx
factor(x^2+2*x+1)
ans=
(x+1)^2
6.求方阵的逆
在线性代数中,如果n阶方阵A可逆,则其逆矩阵为
其中
为矩阵A的伴随矩阵.
MATLAB系统可对可逆矩阵A直接求逆,求逆命令为inv(A).
例12设
求
.
输入:
A=[2,1,3,2;5,2,3,3;0,1,4,6;3,2,1,5];
det(A),inv(A)
输出
ans=-16
ans=
-1.75001.31250.5000-0.6875
5.5000-3.6250-2.00002.3750
0.5000-0.12500.0000-0.1250
-1.25000.68750.5000-0.3125
也可以输入
inv(sym(A))
输出为
[-7/4,21/16,1/2,-11/16]
[11/2,-29/8,-2,19/8]
[1/2,-1/8,0,-1/8]
[-5/4,11/16,1/2,-5/16]
是符号运算结果。
例13设
求
.
输入:
A=[3,0,4,4;2,1,3,3;1,5,3,4;1,2,1,5];
B=[0,3,2;7,1,3;1,3,3;1,2,2];
det(A)
inv(sym(A))*B
输出
ans=3
ans=
[164,-97/3,30]
[48,-28/3,9]
[-89,18,-16]
[-34,7,-6]
对于线性方程组AX=b,如果A是可逆矩阵,X,b是列向量,则其解向量为
.
例14解方程组
输入:
A=[3,2,1;1,-1,3;2,4,-4];
b=[7;6;-2];
det(A)
inv(A)*b
输出
ans=2
ans=
1.0000
1.0000
2.0000
实验十二矩阵的秩与向量组的最大无关组
一实验目的
学习利用MATLAB命令求矩阵的秩、作矩阵的初等行变换;求向量组的秩与最大无关组.
二学习MATLAB命令
1.求矩阵秩命令rank
rank(A)给出矩阵A的秩。
2.用行初等变换求矩阵的行最简形命令rref
rref(A)返回矩阵A的行最简形,即行最简阶梯形。
所谓“行最简形”,就是指:
非零行的第一个非零元为1,且这些非零元所在的列的其他元素都是零
参照矩阵
10-2
014
000
来说就是,一二行为非零,它们第一个非零元均为1,而且它们所在的列(1列和2列)其他元素均为零!
又如
10-2
001
000也是行最简形矩阵!
因为:
一二行为非零,它们第一个非零元均为1,而且它们所在的列(1列和3列)其他元素均为零!
三实验内容
1.求矩阵的秩
矩阵的秩即矩阵不为零的子式的最高阶数.用命令rank(M)可以求出矩阵M的秩.
例1设M=
求矩阵M的秩
输入
M=[3,2,-1,-3,-2;2,-1,3,1,-3;7,0,5,-1,-8];
rank(M)
输出
ans=
2
例2已知矩阵
的秩等于2,求常数
的值.
左上角的二阶子式不等于0.三阶子式应该都等于0.
输入
symst
M=[3,2,-1,-3;2,-1,3,1;7,0,t,-1];
det(M(1:
3,1:
3))
输出
ans=
-7*t+35
当
时,有一个三阶子式等于0,但是否所有的三阶子式都为0呢?
输入:
M=[3,2,-1,-3;2,-1,3,1;7,0,5,-1];
Rank(M)
输出
ans=
2
说明此时矩阵的秩等于2.
2.矩阵的初等行变换
命令rref(A)把矩阵A化作行最简形,用初等行变换法求矩阵的秩与矩阵的逆.
例3设矩阵
求A的秩.
输入:
A=[2,-3,8,2;2,12,-2,12;1,3,1,4];
rref(A)
输出为
ans=
1.000003.00002.0000
01.0000-0.66670.6667
0000
因此A的秩为2.
例4设
证明矩阵A可逆,并用初等行变换求A的逆.
输入
A=[1,2,3;2,2,1;3,4,3];
E=eye(3);%生成一个单位矩阵
AE=[AE]
AENi=rref(AE)
输出
AE=
123100
221010
343001
AENi=
1.0000001.00003.0000-2.0000
01.00000-1.5000-3.00002.5000
001.00001.00001.0000-1.0000
可以看到矩阵A的逆已经求出.为了取出A的逆,输入
ANi=AENi(:
[4,5,6])%只保留矩阵AENi的第四、五、六列
输出
ANi=
1.00003.0000-2.0000
-1.5000-3.00002.5000
1.00001.0000-1.0000
或输入
AENi(:
[1,2,3])=[]%删除矩阵AENi的第一、二、三列
输出
1.00003.0000-2.0000
-1.5000-3.00002.5000
1.00001.0000-1.0000
3.向量组的秩
矩阵的秩与它的行向量组,以及列向量组的秩相等,因此可以用命令rref求向量组的秩.
例5求向量组
的秩
将向量写作矩阵的行,输入:
A=[1,2,-1,1;0,-4,5,-2;2,0,3,0];
rref(A)
输出为:
ans=
1.000001.50000
01.0000-1.25000.5000
0000
这里有两个非零行,因此矩阵的秩等于2,它的行向量组的秩也等于2.
例6向量组
是否线
性相关?
向量组线性无关的充分必要条件是:
它的秩等于其中的向量个数.
输入
A=[1,1,2,3;1,-1,1,1;1,3,4,5;3,1,5,7];
rref(A)
则输出
ans=
1002
0101
0010
0000
向量组的秩等于3,而它包含4个向量,因此该向量组线性相关.
例7向量组
是否线性相关?
输入
A=[2,2,7;3,-1,2;1,1,3];
rref(A)
则输出
ans=
100
010
001
向量组的秩等于3,而它包含三个向量,因此该向量组线性无关.
4.向量组的最大无关组
用命令rref可以求向量组的最大无关组,并用最大无关组线性表示其它向量.此时,应将向量写作矩阵的列,再做行初等变换.我们仍然将向量写作行,再用转置运算将行变成列.
例8求向量组
的最大无关组,并将其它向量用最大无关组线性表示.
输入
A=[1,-1,2,4;0,3,1,2;3,0,7,14;1,-1,2,0;2,1,5,0];
B=transpose(A);
rref(B)
则输出
ans=
1.000003.00000-0.5000
01.00001.000001.0000
0001.00002.5000
00000
在行最简形中有三个非零行,因此向量组的秩等于3.非零行的首元素位于第一,二,四列,因此
是向量组的一个最大无关组.第三列的前两个元素分别是3,1,于是
.第五列的前三个元素分别是
于是
.
5.向量组的等价
可以证明:
两个向量组等价的充分必要条件是:
以它们为行向量构成的矩阵的行最简形具有相同的非零行,因此,还可以用命令rref证明两个向量组等价.
例9设
求证:
向量组
与
等价.
将向量组分别写作矩阵
的行向量组,输入
A=[2,1,-1,3;3,-2,1,-2];
B=[-5,8,-5,12;4,-5,3,-7];
A1=rref(A)
B1=rref(B)
则输出
A1=
1.00000-0.14290.5714
01.0000-0.71431.8571
B1=
1.00000-0.14290.5714
01.0000-0.71431.8571
两个向量组的行最简形相同,因此,两个向量组等价.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 十一 十二 主要 命令 资料