矩阵
- 格式:doc
- 大小:51.00 KB
- 文档页数:5
高中数学矩阵知识点一、矩阵的定义矩阵是一个由数字排列成的矩形阵列,通常用大写字母表示,如A、B、C等。
在高中数学中,我们主要处理的是二维矩阵,即有行和列的矩阵。
二、矩阵的表示矩阵的元素可以用a_{ij}表示,其中i表示行号,j表示列号。
例如,矩阵A的第2行第3列的元素记作a_{23}。
三、矩阵的类型1. 零矩阵:所有元素都是0的矩阵。
2. 单位矩阵:主对角线上的元素为1,其余元素为0的方阵。
3. 对角矩阵:主对角线上的元素可以是任意数,其余位置为0的矩阵。
4. 行矩阵:行数为1的矩阵。
5. 列矩阵:列数为1的矩阵。
四、矩阵的加法和减法两个矩阵相加或相减,必须具有相同的行数和列数。
对应位置的元素相加或相减得到新的矩阵。
五、矩阵的乘法1. 两个矩阵相乘,第一个矩阵的列数必须等于第二个矩阵的行数。
2. 乘积矩阵的元素c_{ij}由第一个矩阵的第i行与第二个矩阵的第j列对应元素相乘后求和得到。
六、矩阵的转置矩阵的转置是将矩阵的行变成列,列变成行得到的新矩阵。
记作A^T。
七、行列式行列式是一个与方阵相关的标量值,它提供了矩阵是否可逆的重要信息。
行列式的值可以通过拉普拉斯展开或对角线乘积减去小对角线乘积的方法计算。
八、逆矩阵一个矩阵A的逆矩阵记作A^-1,它满足以下条件:AA^-1 = A^-1A = I,其中I是单位矩阵。
并非所有矩阵都有逆矩阵,只有可逆矩阵(或称为非奇异矩阵)才有逆矩阵。
九、矩阵的应用矩阵在现实生活中有广泛的应用,如在解决线性方程组、图像处理、金融建模、物理学中的向量分析等领域。
十、常见矩阵运算性质1. 交换律:矩阵加法不满足交换律,即A + B ≠ B + A。
2. 结合律:矩阵加法满足结合律,即(A + B) + C = A + (B + C)。
3. 分配律:矩阵乘法满足分配律,即(A + B)C = AC + BC。
4. 单位元:矩阵乘法满足单位元的存在,即IA = AI = A,其中I是单位矩阵。
矩阵知识点完整归纳矩阵是大学数学中比较重要和基础的概念之一,具有广泛的应用领域,例如线性代数、微积分、计算机科学等。
本文将全面归纳和总结矩阵的基本概念、性质以及相关应用,旨在帮助读者更好地理解和掌握矩阵知识。
一、基本概念1.矩阵的定义矩阵是由一个$m\times n$ 的矩形阵列(数组)表示的数表,其中$m$ 表示矩阵的行数,$n$ 表示矩阵的列数。
如下所示:$$A = \begin{bmatrix}a_{11} & a_{12} & \cdots & a_{1n} \\\a_{21} & a_{22} & \cdots & a_{2n} \\\\vdots & \vdots & \ddots & \vdots \\\a_{m1} & a_{m2} & \cdots & a_{mn}\end{bmatrix}$$其中,$a_{ij}$ 表示矩阵的第$i$ 行、第$j$ 列元素。
2.矩阵的分类矩阵根据其元素的性质可以分为不同类型,主要有以下几种:(1)行矩阵(行向量):只有一行的矩阵,例如$[a_1,a_2,\cdots,a_n]$。
(2)列矩阵(列向量):只有一列的矩阵,例如$\begin{bmatrix}a_1\\\ a_2\\\ \vdots\\\ a_m\end{bmatrix}$。
(3)方阵:行数等于列数的矩阵,例如$A=\begin{bmatrix}1 & 2 & 3\\\ 4 & 5 & 6\\\ 7 & 8 & 9\end{bmatrix}$。
(4)零矩阵:所有元素都为$0$ 的矩阵,例如$\begin{bmatrix}0 & 0 & 0\\\ 0 & 0 & 0\\\ 0 & 0 & 0\end{bmatrix}$。
矩阵知识点总结大学一、基本概念1.1 矩阵的定义矩阵是指一个按照矩形排列的数字元素集合。
一般地,矩阵用符号“A”、“B”、“C”等来表示,其中每个元素用小写字母加标记来表示其位置,如a_ij表示矩阵A的第i行第j列的元素。
矩阵A的元素一般用a_ij来表示,其中i表示元素所在的行数,j表示元素所在的列数。
如下所示:A = [a_11, a_12, ..., a_1n][a_21, a_22, ..., a_2n][..., ..., ..., ...][a_m1, a_m2, ..., a_mn]矩阵的大小一般用m×n来表示,其中m表示矩阵的行数,n表示矩阵的列数。
矩阵的元素一般用小写字母a、b、c、d等来表示。
1.2 特殊矩阵⑴方阵:行数和列数相等的矩阵称为方阵。
n阶方阵指的是行数和列数均为n的方阵。
⑵零矩阵:所有元素都为0的矩阵称为零矩阵,通常用0表示。
⑶单位矩阵:对角线上的元素全为1,其他元素均为0的方阵称为单位矩阵,通常用I表示。
⑷对角矩阵:除了对角线上的元素外,其他元素均为0的矩阵称为对角矩阵。
1.3 矩阵的运算规则矩阵的运算包括加法、乘法和数乘三种,具体规则如下:⑴矩阵的加法:若A、B是同型矩阵,则它们的和记为A+B,定义为A+B=[a_ij+b_ij],其中a_ij和b_ij分别是A和B对应位置的元素。
⑵矩阵的数乘:若A是一个矩阵,k是一个数,则它们的数乘记为kA,定义为kA=[ka_ij],其中a_ij是A的元素。
⑶矩阵的乘法:若A是一个m×n的矩阵,B是一个n×p的矩阵,则它们的乘积记为A·B,定义为A·B=C,其中C是一个m×p的矩阵,其中C的第i行第j列的元素c_ij等于A的第i行和B的第j列对应元素的乘积的和。
1.4 矩阵的转置若A是一个m×n的矩阵,其转置记作A^T,定义为A^T=[a_ji],其中a_ji表示A的第i 行第j列的元素。
矩阵的概念矩阵的线性运算矩阵的乘法方阵的幂方阵乘积的行列式矩阵的转置逆矩阵的概念和性质矩阵可逆的充分必要条件伴随矩阵矩阵的初等变换初等矩阵矩阵的秩矩阵的等价分块矩阵及其运算1.理解矩阵的概念,了解单位矩阵、数量矩阵、对角矩阵、三角矩阵的定义及性质,了解对称矩阵、反对称矩阵及正交矩阵等的定义和性质.2.掌握矩阵的线性运算、乘法、转置以及它们的运算规律,了解方阵的幂与方阵乘积的行列式的性质.3.理解逆矩阵的概念,掌握逆矩阵的性质以及矩阵可逆的充分必要条件,理解伴随矩阵的概念,会用伴随矩阵求逆矩阵.4.了解矩阵的初等变换和初等矩阵及矩阵等价的概念,理解矩阵的秩的概念,掌握用初等变换求矩阵的逆矩阵和秩的方法.5.了解分块矩阵的概念,掌握分块矩阵的运算法则.本章核心内容如下:(1)矩阵的幂运算:①秩为1的矩阵:1)(=A r ,可以分解为列矩阵(向量)×行矩阵(向量)的形式,再采用结合律;②型如,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=000000c b a A 或⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡000000c b a ,或⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡k c k b a k 000,利用二项式展开;③利用特征值和相似对角化:∧=−AP P 1;④分块矩阵:⎥⎦⎤⎢⎣⎡=C B A 00.(2)伴随矩阵重要公式及求法:①伴随的秩序:⎪⎩⎪⎨⎧−<−===1)(01)(1)()(*n A r n A r n A r nA r ;②伴随得特征值:*1*(,)A AA AX X A A A X X λλλ− == ⇒ =;(※※)③伴随的重要公式:1*−=n AA ***)(AB AB =A AA n 2**)(−=(3≥n)1*−=A A A /AA A *1=−,*1*)(A k kA n −=,AAA A ==−−*11*)()(,⎟⎟⎠⎞⎜⎜⎝⎛=⎟⎟⎠⎞⎜⎜⎝⎛***B A OO A B B O O A ,⎟⎟⎠⎞⎜⎜⎝⎛−=⎟⎟⎠⎞⎜⎜⎝⎛O A B B A O O B A O mn***)1((m m A ×n n B ×)(3)逆矩阵:①求1−A 的方法:⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎨⎧⎟⎟⎠⎞⎜⎜⎝⎛=⎟⎟⎠⎞⎜⎜⎝⎛⎟⎟⎠⎞⎜⎜⎝⎛=⎟⎟⎠⎞⎜⎜⎝⎛==⇒=−−−−−−−−.43,21111111*1*1O A B O O B A O B O O A B O O A A A A A A A B A E B A A n n )分块矩阵法:(;为三阶、四阶数值型)()初等行(列)变换法(;为二阶、三阶数值型)法()();为抽象矩阵:)定义法((②逆的重要公式:()111−−−=A B AB T T A A )()(11−−=()*11*)(−−=A A ⎟⎟⎠⎞⎜⎜⎝⎛=⎟⎟⎠⎞⎜⎜⎝⎛−−−111B A B A ⎟⎟⎠⎞⎜⎜⎝⎛=⎟⎟⎠⎞⎜⎜⎝⎛−−−111A B B A ⎟⎟⎠⎞⎜⎜⎝⎛−=⎟⎟⎠⎞⎜⎜⎝⎛−−−−−11111B O CB A A B O C A ⎟⎟⎠⎞⎜⎜⎝⎛−=⎟⎟⎠⎞⎜⎜⎝⎛−−−−−11111B CA B O A BC O A (4)初等矩阵变换:①初等变换(3)方法:⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛⎯⎯⎯⎯⎯⎯⎯⎯⎯→⎯⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛⎯⎯⎯⎯⎯→⎯⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛⎯⎯⎯⎯⎯⎯→⎯⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛=+100010041)3(100030001)2(100001010)1(1000100012141232列)行(至第列)倍乘行(第行(列)倍乘第行(列)变换(交换)A ②初等变换的求逆(3)公式:⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛1000010101000010101-,⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛10000103101000030101-,⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛51000100015000100011-(5)矩阵方程:①B AX =⇒B A X 1−=;②B XA =⇒1−=BA X ;③C AXB =⇒11−−=CB A X .(系数矩阵一般可逆)(6)矩阵的秩:①)()()(T T AA r A r A r ==;②)()(kA r A r =(0≠k);③)()()(B r A r B A r +≤±;④)}(),(min{)(B r A r AB r ≤⇔)()(A r AB r ≤,)()(B r AB r ≤;⑤0=××s n n m B A n B r A r ≤+⇒)()(;⑥⎪⎩⎪⎨⎧−<−===1)(01)(1)()(*n A r n A r nA r n A r ;⑦B A ~)()(B r A r =⇒.本章重点是伴随矩阵、可逆矩阵、初等变换、矩阵的秩,在这一章中必有一道小题4分.从历年真题考题来看,初等变换、矩阵的秩尤其重要.一、选择题:1、设B A ,均为n 阶矩阵(2≥n ),E 为单位矩阵,则有()(A)2222)(B AB A B A ++=+(C)22))((B A B A B A −=+−(C)))((2E A E A E A +−=−(D)222)(B A AB =2、设C B A ,,均为n 阶矩阵,且A 可逆,下列命题正确的是()(A)若BC BA =,则C A =(B)若CB AB =,则C A =(C)若0=AB ,则0=B (D)若0=BC ,则0=C 3、设B A ,均为n 阶方阵,满足等式0=AB ,则必有()(A)0=A 或0=B (B)=+B A (C)0=A 或0=B (D)0=+B A 4、设B A ,为n 阶对称矩阵,且B 可逆,则下列矩阵中为对称矩阵的是()(A)AB AB 11−−−(B)A B AB 11−−+(C)11−−AB B(D)2)(AB 5、设矩阵33)(×=ij a A 满足T A A =*,其中*A 为A 的伴随矩阵,T A 为A 的转置矩阵,若13111,,a a a 2为三个相等的正数,则11a 为()(A)33(B)3(C)31(D)36、设n 阶矩阵A 非奇异(2≥n ),*A 是A 的伴随矩阵,则()(A)A A A n 1**)(−=(B)A A An 1**)(+=(C)AAA n 2**)(+=(D)AAAn 2**)(+=7、设A 是任一n 阶方阵(3≥n ),*A 是A 的伴随矩阵,又k 为常数,且10±≠,k ,则必有=*)(kA ()(A)*kA(B)*1A k n −(C)*A kn(D)*1A k−8、设B A ,为n 阶矩阵,**,B A 分别为B A ,的伴随矩阵,分块矩阵⎥⎦⎤⎢⎣⎡=B O O A C ,则C 的伴随矩阵=*C ()(A)⎥⎦⎤⎢⎣⎡**B B O O A A (B)⎥⎦⎤⎢⎣⎡**A A O OB B (C)⎥⎦⎤⎢⎣⎡**A B OO B A (D)⎥⎦⎤⎢⎣⎡**B A OO A B 9、设n 阶方阵C B A ,,满足关系式E ABC =,其中E 是n 阶单位阵,则下式未必有()(A)EBCA =(B)EA B CT T T=(C)ECAB=(D)EACB =10、设C B A ,,为n 阶方阵,且E CA BC AB ===,则=++222C B A ()(A)0(B)E(C)E2(D)E311、设)21,0,...,0,21(=a ,矩阵a a E A T −=,a a E B T 2+=,其中E 是n 阶单位阵,则AB 等于()(A)0(B)E −(C)E (D)aa E T +12、设C B A ,,均为n 阶矩阵,E 是n 阶单位阵,若AB E B +=,CA A C +=,则C B −为()(A)E (B)E−(C)A (D)A−13、设11,,,−−++B A B A B A 均为n 阶可逆矩阵,则111)(−−−+B A 等于()(A)11−−+B A (B)BA +(C)B B A A 1)(−+(D)1)(−+B A 14、设A 为3阶矩阵,将A 的第2行加到第1行得到B ,再将B 的第1列的)1(−倍加到第2列得到C ,记⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛=100010011P ,则:()(A)AP P C1−=(B)1−=PAP C (C)AP P C T =(D)TPAP C =15、设P A ,均为3阶矩阵,TP 为P 的转置,且,⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛=200010001AP P T 若),,(321ααα=P ,),,(3221αααα+=Q ,则:AQ Q T 等于()(A)⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛200011012(B)⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛200021011(C)⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛200010002(D)⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛20002000116、设A 为3阶矩阵,将A 的第2列加到第1列,得到B ,再交换B 的第2行与第3行得到E ,记,,⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛=01010000110001100121P P 则:=A ()(A)21P P (B)211P P −(C)12P P (D)112−P P 17、设B A ,为非零矩阵,且O AB =,则A 和B 的秩()(A)必有一个等于零(B)都小于n (C)一个小于n(D)一个等于n二、填空题:18、计算下列行列式乘积:①=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛−⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛231343452161.②()=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛312321.③()=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛321312.④()=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡321332313232212131211321x x x a a a a a a a a a x x x .19、设E A 23=,证明:E A 2+可逆,并求=+−1)2(E A .20、设T a)1,0,1(−=,矩阵T aa A =,n 为正整数,则=−n A aE .21、设⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=101020101A ,而2≥n 为正整数,则=−−12n n A A .22、设3阶矩阵B A ,满足E B A AB =−−,其中E 为三阶单位矩阵,若⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=102020101A ,则=B .23、设⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=543022001A ,*A 是A 的伴随矩阵,则=−1*)(A .24、设4阶方阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡−=1100210000120025A ,则=−1A .25、设⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=−000000000000121⋯⋯⋮⋮⋮⋮⋯⋯nn a a a a A ,其中n i a i ,...,2,1,0=≠,则.1=−A 26、设⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡−−−=7600054000320001A ,E 为4阶单位矩阵,且)()(1A E A EB −+=−,则:=+−1)(B E .27、设矩阵A 满足042=−+E AE A ,其中E 为单位矩阵,则=−−1)(E A .28、设矩阵⎥⎦⎤⎢⎣⎡−=3211A ,E A A B 232+−=,则=−1B .29、设B A ,均为3阶矩阵,E 是3阶单位矩阵.已知B A AB +=2,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=202040202B ,则=−−1)(E A .30、计算:=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡2013201200101010054343232101010100.31、矩阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=0111001100010000A ,则=)(3A r .32、已知A 是非零矩阵,且O A =2,则=)(*A r .33、设B A ,均为n 阶矩阵,且1−=B ABA ,E 为单位矩阵,则=++−)()(AB E r AB E r .三、解答题:34、已知实矩阵33)(×=ij a A 满足以下条件:(1)ij ij A a =(3,2,1,=j i ),其中ij A 是ij a 的代数余子式;(2)011≠a .计算行列式A .35、设0=k A (k 为正整数),证明:121...−−++++=−k A A A E A E )(.36、设方阵A 满足:O E A A =−−22,证明:A 及E A 2+都可逆,并求1−A 及1)2(−+E A .37、设B A ,为n 阶方阵,若B A AB +=.(1)证明:E A −可逆且BA AB =;(2)已知⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−=200012031B ,求矩阵A .38、已知B A ,为3阶矩阵,且满足E B B A 421−=−,其中E 是3阶单位矩阵.(1)证明:矩阵E A 2−可逆;(2)若⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−=200021021B ,求矩阵A .39、设⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−=321011330A ,且满足B A AB 2+=,求矩阵B .40、设⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡−−=390013000003000013000013A ,求n A .一、选择题:1、答案:(C).【考点】考查矩阵运算.解:矩阵运算,一般没有BA AB ≠.例,()⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛936624312312321,()13332112321312=×+×+×=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛BA AB ≠⇒;例,⎟⎟⎠⎞⎜⎜⎝⎛=⎟⎟⎠⎞⎜⎜⎝⎛⎟⎟⎠⎞⎜⎜⎝⎛341201104321⎟⎟⎠⎞⎜⎜⎝⎛=⎟⎟⎠⎞⎜⎜⎝⎛⎟⎟⎠⎞⎜⎜⎝⎛214343210110BA AB ≠⇒;222332)(×××=AB B A ,333223)(×××=BA A B BA AB ≠⇒;333113)(×××=AB B A (左行右列),111331)(×××=BA A B (左行右列)BA AB ≠⇒.特别地,22))((B BA AB A B A B A −+−=−+,222)(B BA AB A B A +++=+但:E A E A E A −=−+2))((,EA A E A ++=+2)(22))((23E A A E A E A ++−=−))((23E A A E A E A +−+=+【注】:尤其要注意kE A =3的情形.))((23E A A E A E A ++−=−))((23E A A E A E A +−+=+2、答案:(C).【考点】考查矩阵运算.解:对于(A),C A A BC BA =⇒′≠⎭⎬⎫=可逆,但C A B BC BA =⇒⎭⎬⎫=可逆.例:⎟⎟⎠⎞⎜⎜⎝⎛=⎟⎟⎠⎞⎜⎜⎝⎛−−⎟⎟⎠⎞⎜⎜⎝⎛993312516321,⎟⎟⎠⎞⎜⎜⎝⎛=⎟⎟⎠⎞⎜⎜⎝⎛⎟⎟⎠⎞⎜⎜⎝⎛993311116321⇒C A ≠.故(A)错误.对于(B),C A A CB AB =≠⇒⎭⎬⎫=可逆,但C A B CB AB =⇒⎭⎬⎫=可逆.例:⎟⎟⎠⎞⎜⎜⎝⎛=⎟⎟⎠⎞⎜⎜⎝⎛⎟⎟⎠⎞⎜⎜⎝⎛−−993362311521,⎟⎟⎠⎞⎜⎜⎝⎛=⎟⎟⎠⎞⎜⎜⎝⎛⎟⎟⎠⎞⎜⎜⎝⎛993362311111⇒C A ≠.故(B)错误.对于(C),则对0=AB ,左乘1−A ,01=−AB A ,则0=B .故(C)正确.对于(D),0=AB ≠0=⇒A 或者0=B .例:O =⎟⎟⎠⎞⎜⎜⎝⎛=⎟⎟⎠⎞⎜⎜⎝⎛⎟⎟⎠⎞⎜⎜⎝⎛000021-4-24221,()01-11321=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛.故(D)错误.3、答案:(C).【考点】考查矩阵运算.解:对0=AB ,用行列式乘法公式:0==AB B A .则0=A 或0=B .4、答案:(B).【考点】考查矩阵(对称、反对称)运算.解:对于(A),TT T T T T T B A A B A B AB A B AB)()()()()(111111−−−−−−−=−=−1111)()(−−−−−=−=AB A B B A A B T T T T ,所以(A)不对.对于(B),TT T T T T T B A A B A B AB A B AB)()()()()()()(111111−−−−−−+=+=+A B AB AB A B B A A B T T T T 111111)()()()(−−−−−−+=+=+=,所以(B)不对.对于(C),1111)()()()()(−−−−===BAB B A B B A B AB BT T T T T T T ,所以(C)不对.对于(D),2222)()(])[(])[(BA A B AB AB T T T T===,所以(D)不对.5、答案:(A).【考点】考查矩阵(ij ijA a =或T A A =*)的运算.解:由于T A A =*,即:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡332313322212312111332313322212312111a a a a a a a a a A A A A A AA A A ,因此ij ij A a =,所以03211222111313121211111312>=++=++=a a a a A a A a A a A ,又T A A =*,两边取行列式,则:A A AA T ===−13*,即A A =2,则有1=A ,因此,13211=a ,3311=a .6、答案:(C).【考点】考查矩阵伴随.解:根据伴随矩阵的关系:E A A A AA ==**.现将*A 视为关系式中的A ,则有:E A A A A A *******)()(==,由1*−=n AA 及AA A=−1*)(可得:A A AA AA A An n 211****)()(−−−===.7、答案:(B).【考点】考查矩阵伴随.解:当A 可逆时,由1*−=A A A 有:*111*1)()(A k A kA k kA kA kA n n −−−=⋅==.8、答案:(D).【考点】考查矩阵伴随(分块矩阵).解:⎟⎟⎠⎞⎜⎜⎝⎛=⎟⎟⎠⎞⎜⎜⎝⎛==−−−−1111*B O O A B A B O O A B O O A C C C ⎥⎦⎤⎢⎣⎡=**B A O O A B .9、答案:(D).【考点】考查矩阵(定义)的逆.解:由C B A ,,都是n 阶方阵,且E ABC =知:①E BC A =)(,即A 与BC 互为逆矩阵,则有:E BCA =,故(A)正确.②T T T T T A B C ABC E E ===)(,故(B)正确;③E C AB =)(,即AB 与C 互为逆矩阵,则有:E CAB =,故(C)正确.10、答案:(D).【考点】考查矩阵(定义)的逆.解:由C B A ,,为n 阶方阵,且E CA BC AB ===,我们取C B A ,,为n 阶单位阵.故E C B A 3222=++.11、答案:(C).【考点】考查矩阵乘法.解:a aa a a a E a a a a a a E a a E a a E AB T T T T T T T T )(2))((2)2)((+−=+−=+−=E a a a a E T T =+−=.12、答案:(A).【考点】考查矩阵逆运算.解:由AB E B +=⇒E B A E =−)(⇒1)(−−=A E B ;由CA A C+=⇒A A E C =−)(⇒1)(−−=A E A C ;所以E A E A E A E A A E C B =−−=−−−=−−−−111))(()()(.13、答案:(C).【考点】考查矩阵(定义)的逆.解:利用矩阵逆的运算法则:AA B B B A B A AB E A B A 1111111111)(])([)]([)(−−−−−−−−−−+=+=+=+或者1111))(()()(−−−−++=++=B A B A B A B B A A E,则:B A B B A A +=+−−])(11,⇒=+−−−111)(B A B B A A 1)(−+.14、答案:(B).【考点】考查矩阵初等变换.解:按照已知条件,用初等变换描述有:AB ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=100010011⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−=100010011B C 因此A C ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=1000100111100010011−=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−PAP .15、答案:(A).【考点】考查初等变换.解:因为⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=+100011001),,(),,(3213221ααααααα,即:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=100011001P Q ,于是⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=100011001)(100010011100011001100011001AP P P A P AQ Q T TT ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=200011012100011001200010001100010011.16、答案:(D).【考点】考查初等变换.解:依题意,B A =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡100011001,E B =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡010100001,即:B Ap =1,E B P =2⇒E Ap p =)(12,所以11121112−−−−==P P EP P A .17、答案:(B).【考点】考查矩阵O AB =的秩.解:由矩阵B A ,非零⇒1)(≥A r 1)(≥B r 又O AB =⇒nB r A r ≤+)()(因此,矩阵B A ,的秩都小于n .二、填空题:18、答案:①⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛−−−=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛−=+−=×+−×+×−=+−=×+−×+×−=+−=×+−×+×=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛−⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛35153612323)3(4135815224)3(51215218121)3(611231343452161;②()()12)12642232221(312321==++=×+×+×=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛;③()⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛963321642321312;④()()⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡33322311332322211231321211132132332313232212131211321x a x a x a x a x a x a x a x a x a x x x x x a a a a a a a a a x x x 233332231313322322221212311321122111x a x x a x x a x x a x a x x a x x a x x a x a ++++++++=121231132112233322222111222x x a x x a x x a x a x a x a +++++=.【考点】考查行列式计算.【注】:s m s n n m C B A ×××=.19、答案:10)42(2E A A +−.【考点】考查矩阵的逆运算.解:由E A 23=变形为:E E A A E A 10)42)(2(2=+−+,于是:E E A A E A =+−+10)42()2(2,故10)42()2(21E A A E A +−=+−.20、答案:)2(2n a a−.【考点】考查1)(=Taa r 的有关行列式运算.解:因⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−−=−⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛−==101000101)101(101T aa A ,而2101)101(=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛−−==a a A T ,所以A A n n 12−=,)2(202002022211111n n n n n n n a a a a a A aE A aE −=−−=−=−−−−−−.21、答案:O .【考点】考查矩阵运算.解:由于11)2(2−−−=−n n n A E A A A ,而⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−−=−1010001012E A ,又O A E A =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−−=−101020101101000101)2(,所以O A A n n =−−12.22、答案:21.【考点】考查矩阵的逆及行列式值.解:由E B A AB =−−,即:E A B E A E A +=−+))((.因为⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−=+202030102E A ,知E A +可逆,故1)(−−=E A B .而2002010100=−=−E A .又因AA 11=−,故21)(1=−=E A B .23、答案:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡543022001101.【考点】考查伴随运算.解:由EA AA =*知:E A AA =*,故AA A =−1*)(,又10543022001==A ,所以⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=−543022001101)(1*A .24、答案:⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡−−−3131003231000520021.【考点】考查分块矩阵求逆.解:由⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=−−−1110000C B C B A ,设⎥⎦⎤⎢⎣⎡−−=⎥⎦⎤⎢⎣⎡=−−5221122511B ,⎥⎦⎤⎢⎣⎡−=⎥⎦⎤⎢⎣⎡−=−−112131112111C ⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡−−−=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡−=−313100323100005200211102100001200251-1A .【注】在今后考研中一定还要注意⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=−−−−O BC O O C B O A 1111这种题型.25、答案:⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=−−01000010000110001211n n a a a a A ⋯⋮⋮⋮⋮⋯⋯⋯.【考点】考查分块矩阵求逆.解:由⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=−−−−O BC O O C B O A 1111,又⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=−21111a a C ⋱,所以,⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=−−01000010000110001211n n a a a a A ⋯⋮⋮⋮⋮⋯⋯⋯.26、答案:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡−−−4300032000210001【考点】考查矩阵的逆运算.解:若先求出1)(−+A E,再作矩阵乘法求出B ,最后通过求逆得到1)(−+B E .因此要求我们利用单位矩阵恒等变形:1`11)(2)]()[()()()(−−−+=++−+=+−+=+A E A E A E A E E A E A E E B .所以)(21])(2[)(11`1A E A E E B +=+=+−−−⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡−−−=4300032000210001或者,由)()(1A E A E E B −+=+−,左乘A E +得:A E EB A E −=++))((⇒EA E A E A EB A E 2)()(=++−=+++即有:E B E A E 2))((=++.以下同解.27、答案:2)2(E A +.【考点】考查抽象矩阵定义法求可逆矩阵.解:由042=−+E AE A ⇒EE A E A 2)2)((=+−即:E E A E A =+−2)2()(2)2()(1E A E A +=−−.28、答案:⎥⎥⎦⎤⎢⎢⎣⎡−−11210.【考点】考查矩阵逆运算.解:因为))(2(232E A E A E A A B−−=+−=,所以1111)2()()])(2[(−−−−−−=−−=E A E A E A E A B 又⎥⎦⎤⎢⎣⎡−=⎥⎦⎤⎢⎣⎡−=−−−021*******)(11E A ,⎥⎦⎤⎢⎣⎡−=⎥⎦⎤⎢⎣⎡−−=−−−12111211)2(11E A .所以,=−1B ⎥⎦⎤⎢⎣⎡−021221=⎥⎦⎤⎢⎣⎡−1211⎥⎥⎦⎤⎢⎢⎣⎡−−11210.29、答案:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡001010100.【考点】考查矩阵的逆运算.解:由B A AB +=2⇒E E B E A 2)2)((=−−,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=−=−−001010100)2(21)(1E B E A .30、答案:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡345234123.【考点】考查初等行变换.解:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡3452341230010101005434323210101010020132012⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡34523412331、答案:1)(3=Ar .【考点】考查矩阵的幂运算.解:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=00120001000000002A ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=0010000000000003A ,所以1)(3=A r .32、答案:0.【考点】考查伴随矩阵的秩.解:由O A =2知,5)()(≤+A r A r ,所以4)(<A r ,故0)(=A r .33、答案:n .【考点】考查矩阵的秩.解:由1−=B ABA 知,E ABAB =,所以OE AB E AB =−+))((则n E AB r E AB r ≤−++)()(.又E E AB AB E 2)()(=++−,所以nE r E AB r AB E r =≥++−)2()()(因此,n E AB r E AB r =−++)()(.三、解答题:34、答案:1.【考点】考查行列式(矩阵)计算:T A A =*或ij ij a A =.(与选择题第5题同解)解:由于T A A =*,即:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡332313322212312111332313322212312111a a a a a a a a a A A A A A AA A A ,因此ij ij A a =,所以03211222111313121211111312>=++=++=a a a a A a A a A a A ,又T A A =*,两边取行列式,则:A A AA T ===−13*,即A A =2,则有1=A .35、答案:原命题成立.【考点】考查0=k A 的相关运算.解:由0=k A 知:)...(21E A A A E A E A E k k k ++++−=−=−−−)(所以,)...(121−−++++−=−k A A A E E A )(,故命题成立.36、答案:)(1E A A −=−;)3(41)2(1E A E A −−=+−.【考点】考查抽象矩阵的逆.(定义法)解:①由EA A O22−−=⇒)(2E A A E −=,故)(1E A A −=−;②由EA A O 22−−=⇒E E A E A 4)3)(2(−=−+,故)3(41)2(1E A E A −−=+−.37、答案:(1)1)(−−+=⇒E B E A ;(2)⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=2000131-0211A .【考点】考查矩阵的逆运算.解:(1):由AB B A =+知:=+−−E B A AB E E B E A =−−)()(.所以E A −可逆,且E A E B −=−−1)(1)(−−+=⇒E B E A .EE A E B =−−)()(即:0=−−A B BA ⇒BAB A =+又AB B A =+所以BA AB =.(2)由于11100002030)(−−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−=−E B ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=1000031-0210,故⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=2000131-0211A .38、答案:)4(8121-E B E A −=−)(;⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−−−=200011020A .【考点】考查矩阵的逆运算.解:(1)由EB B A421−=−左乘A 知:042=−−AB AB .从而E E B E A 8)4(2=−−)(,即E E B E A =−⋅−)4(812)(.则E A 2−可逆,且)4(8121-E B E A −=−)(.(2)由(1)知1)4(82−−+=E B E A .而112-0002-102-3-4−−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=−)(E B ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=21-00083-81-04141-故⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−−−=200011020A .【注意】如果只要证明E A 2−可逆,那么由042=−−A B AB A B E A 42=−⇒)(.因为A 可逆,知.0443≠=A A 故02≠⋅−B E A ,就可证出E A 2−可逆.39、答案:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−011321330.【考点】考查矩阵运算.解:B A AB 2+=⇒A B E A =−)2(,而021210113322≠=−−−=−E A ,故A E A B 1)2(−−=,由⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−−−=−100010001121011332)2(⋮⋮E E A ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−−−→2112123121232321100010001⋮所以⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−−−=−21212123212123321)2(1-E A 因此,A E A B 1)2(−−=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−−−=212121232121232321⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−321011330=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−011321330.【注】此题还可以用伴随矩阵来求逆,不妨试一试,但要注意计算准确.40、答案:见解析.【考点】考查矩阵的幂运算.解:将矩阵A 分块,⎥⎦⎤⎢⎣⎡=n nn C OO B A ,D E B +=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=30001000101000100013300130013,其中⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=000100010D ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=0000001002D ,O D D n ===...3,所以,22211333)3(D C D C D E B n n n n n n n −−++=+=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=−−−000000300000300030300030003221111n n n n n n n n nC C C ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=−−−n n n n n n n n n C C C 300330333112211()13313913−⎟⎟⎠⎞⎜⎜⎝⎛−=⎥⎦⎤⎢⎣⎡−−=C ,所以,()()()133113311331−⎟⎟⎠⎞⎜⎜⎝⎛−−⎟⎟⎠⎞⎜⎜⎝⎛−−⎟⎟⎠⎞⎜⎜⎝⎛−=⋯n C ()⎥⎦⎤⎢⎣⎡⋅⋅−⋅−⋅=⎥⎦⎤⎢⎣⎡−−=−⎟⎟⎠⎞⎜⎜⎝⎛−=1-1-1-1-1-1-636961633913613316n n n n n n 所以⎥⎦⎤⎢⎣⎡=n nn C OO B A ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⋅⋅−⋅−⋅=−−−−−−−11111122116369000663000003000033000333n n n n n n n n n n n n nC C C .。
矩阵知识点归纳总结一、矩阵的表示1. 矩阵的定义矩阵是由m行n列数字构成的矩形数组,通常用大写字母表示,如A、B、C等。
矩阵的元素用小写字母表示,如a_ij表示第i行第j列的元素。
2. 矩阵的大小矩阵的大小由其行数和列数确定,通常用m×n表示。
例如一个3×2的矩阵表示有3行2列的矩阵。
3. 矩阵的类型根据矩阵的大小和元素的性质,可以分为方阵、对角阵、零矩阵等。
方阵是行数等于列数的矩阵,对角阵是只有主对角线上有非零元素的矩阵,零矩阵则所有元素均为零。
二、矩阵的运算1. 矩阵的加法如果两个矩阵A和B的大小相同,即都是m×n的矩阵,那么它们的和C=A+B也是一个m×n的矩阵,其中C的第i行第j列的元素等于A的第i行第j列的元素加上B的第i行第j列的元素。
2. 矩阵的数乘如果一个矩阵A的大小为m×n,那么它的数乘kA也是一个m×n的矩阵,其中k是一个常数,且kA的每个元素等于A相应位置的元素乘以k。
3. 矩阵的乘法矩阵的乘法是一种较为复杂的运算,如果矩阵A的大小为m×n,矩阵B的大小为n×p,那么它们的乘积C=AB是一个m×p的矩阵,其中C的第i行第j列的元素等于A的第i行和B的第j列对应元素的乘积之和。
4. 矩阵的转置矩阵的转置是指将矩阵的行和列互换得到的新矩阵,它通常用A^T表示。
例如,如果A 是一个m×n的矩阵,那么它的转置A^T就是一个n×m的矩阵,其中A^T的第i行第j列的元素等于A的第j行第i列的元素。
5. 矩阵的逆如果一个方阵A存在逆矩阵A^-1,那么称A是可逆的。
A的逆矩阵满足AA^-1 = A^-1A = I,其中I是单位矩阵。
逆矩阵A^-1可以用来求解线性方程组和矩阵方程。
三、矩阵的特征1. 矩阵的秩矩阵的秩是指矩阵中非零行列式的个数,它也等于矩阵的列空间维数和行空间维数的最小值。
//显示矩阵按键移位动态//
#include<reg51.h>
#define GPIO_DIG P0
#define GPIO_KEY P1
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
unsigned char code DIG_CODE[17]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, //0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char KeyValue;
unsigned char KeyState; //记录按键的状态,0没有,1有
unsigned char DisplayData[8];
void Delay10ms(unsigned int c); //误差0us
void KeyDown(); //检测按键函数
void DigDisplay(); //动态显示函数
void main(void)
{
KeyState=0;
while(1)
{
KeyDown();
if(KeyState==1)
{
DisplayData[7]=DisplayData[6];
DisplayData[6]=DisplayData[5];
DisplayData[5]=DisplayData[4];
DisplayData[4]=DisplayData[3];
DisplayData[3]=DisplayData[2];
DisplayData[2]=DisplayData[1];
DisplayData[1]=DisplayData[0];
DisplayData[0]=DIG_CODE[KeyValue];
KeyState=0;
}
DigDisplay();
}
}
void DigDisplay()
{
unsigned char i;
unsigned int j;
for(i=0;i<8;i++)
{
switch(i) //位选,选择点亮的数码管,
{
case(0):
LSA=0;LSB=0;LSC=0; break;//显示第0位
case(1):
LSA=1;LSB=0;LSC=0; break;//显示第1位
case(2):
LSA=0;LSB=1;LSC=0; break;//显示第2位
case(3):
LSA=1;LSB=1;LSC=0; break;//显示第3位
case(4):
LSA=0;LSB=0;LSC=1; break;//显示第4位
case(5):
LSA=1;LSB=0;LSC=1; break;//显示第5位
case(6):
LSA=0;LSB=1;LSC=1; break;//显示第6位
case(7):
LSA=1;LSB=1;LSC=1; break;//显示第7位
}
GPIO_DIG=DisplayData[i];//发送段码
j=10; //扫描间隔时间设定while(j--);
GPIO_DIG=0x00;//消隐
}
}
void KeyDown(void)
{
unsigned int a=0;
GPIO_KEY=0x0f;
if(GPIO_KEY!=0x0f)
{
Delay10ms(1);
a++;
a=0;
if(GPIO_KEY!=0x0f)
{
KeyState=1; //有按键按下
GPIO_KEY=0X0F;
switch(GPIO_KEY)
{
case(0X07): KeyValue=0;break;
case(0X0b): KeyValue=1;break;
case(0X0d): KeyValue=2;break;
case(0X0e): KeyValue=3;break;
}
GPIO_KEY=0XF0;
switch(GPIO_KEY)
{
case(0X70): KeyValue=KeyValue;break;
case(0Xb0): KeyValue=KeyValue+4;break;
case(0Xd0): KeyValue=KeyValue+8;break;
case(0Xe0): KeyValue=KeyValue+12;break;
}
while((a<50)&&(GPIO_KEY!=0xf0)) //按键松手检测{
Delay10ms(1);
a++;
}
a=0;
}
}
}
void Delay10ms(unsigned int c) //误差0us
{
unsigned char a, b;
for (;c>0;c--)
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
}
}
//* 实验名: 矩阵键盘显示试验
//* 实验说明: 静态数码管显示矩阵键盘键值//
#include<reg51.h>
//--定义使用的IO口--//
#define GPIO_DIG P0
#define GPIO_KEY P1
//--定义全局变量--//
unsigned char code DIG_CODE[17]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码unsigned char KeyValue;
//用来存放读取到的键值
//--声明全局函数--//
void Delay10ms(unsigned int c); //延时10ms
void KeyDown(); //检测按键函数
void main(void)
{
while(1)
{
KeyDown();
GPIO_DIG = ~DIG_CODE[KeyValue];
}
}
void KeyDown(void)
{
char a = 0;
GPIO_KEY=0x0f;
if(GPIO_KEY!=0x0f)//读取按键是否按下
{
Delay10ms(1);//延时10ms进行消抖
if(GPIO_KEY!=0x0f)//再次检测键盘是否按下
{
//测试列
GPIO_KEY=0X0F;
switch(GPIO_KEY)
{
case(0X07): KeyValue=0;break;
case(0X0b): KeyValue=4;break;
case(0X0d): KeyValue=8;break;
case(0X0e): KeyValue=12;break;
}
//测试行
GPIO_KEY=0XF0;
switch(GPIO_KEY)
{
case(0X70): KeyValue=KeyValue+3;break;
case(0Xb0): KeyValue=KeyValue+2;break;
case(0Xd0): KeyValue=KeyValue+1;break;
case(0Xe0): KeyValue=KeyValue;break;
}
while((a<50) && (GPIO_KEY!=0xf0)) //检测按键松手检测
{
Delay10ms(1);
a++;
}
}
}
}
void Delay10ms(unsigned int c) //误差0us
{
unsigned char a, b;
//--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--// for (;c>0;c--)
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
}
}。