搜档网
当前位置:搜档网 › 实验1矩阵的基本运算

实验1矩阵的基本运算

实验1矩阵的基本运算
实验1矩阵的基本运算

基础篇

本篇包含五个线性代数的基础实验,从矩阵运算到方程组的求解;从向量组线性相关性分析到矩阵的对角化;从矩阵特征值和特征向量求解到二次型的标准化及正定性的分析,都给出了MATLAB的解决方法。实验5利用MATLAB的绘图功能,对线性代数若干概念的几何意义进行了分析讨论。

实验1 矩阵的基本运算

1.1实验目的

1.掌握Matlab软件的矩阵赋值方法;

2.掌握Matlab软件的矩阵加法、数乘、转置和乘法运算;

3.掌握Matlab软件的矩阵幂运算及逆运算;

4.掌握Matlab软件的矩阵元素群运算;

5.通过Matlab软件进一步理解和认识矩阵的运算规则。

1.2实验指导

MATLAB是一种功能强大的科学及工程计算软件,它的名字由“矩阵实验室”(Matrix Laboratoy)组成,它具有以矩阵为基础的数学计算和分析功能,并且具有丰富的可视化图形表现功能及方便的程序设计能力。它的应用领域极为广泛。本实验学习用MATLAB软件进行矩阵基本运算。

启动MATLAB后,将显示MA TLAB操作界面,它包含多个窗口,其中命令窗口是最常用的窗口,如图1.1所示。

图1.1 MA TLAB的操作桌面

本实验所有例题的MATLAB命令都是在命令窗口中键入的。在本实验中用到MATLAB

的运算符号及命令或函数列举如下: 1、运算符号

表1.1给出了本实验用到的MA TLAB 基本运算符号。

表1.1 MA TLAB 的基本运算符号

2、命令或函数

表1.2给出了与本实验相关的MA TLAB 命令或函数。若要进一步了解和学习某个命令或函数的详细功能和用法时,MATLAB 提供了一个help 命令。

表1.2 与本实验相关的MA TLAB 命令或函数

1.3 实验内容

例1.1 用MA TLAB 软件生成以下矩阵:

(1)??????????=066656239A (2)????

??????=100010001B (3)??????=0000C (4)??

???

???????=111111111111

1111

D 解:(1)在MA TLAB 命令窗口输入:

A=[9,3,2;6,5,6;6,6,0] % 矩阵同行元素以逗号或空格分割 或:A=[9 3 2;6 5 6;6 6 0] % 行与行之间必须用分号或回车分隔 或:A=[9 3 2 6 5 6 6 6 0] 结果都为: A =

9 3 2 6 5 6 6 6 0

(2)输入:

B=eye(3)

结果为:

B =

1 0 0

0 1 0

0 0 1

(3)输入:

C = zeros(2)

结果为:

C =

0 0

0 0

(4)输入:

D = ones(4)

结果为:

D =

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

Matlab对矩阵赋值有直接输入和命令生成两种方法,本例中矩阵A就是键盘直接输入的;而矩阵B、C和D都是用Matlab命令而生成。

例1.2 随机生成两个3阶方阵A和B,分别计算:

A

(1)A+B;(2)A-B;(3)5A;(4)AB;(5)T

解:输入:

A=round(rand(3)*10) % rand(3):生成3阶元素为0-1的随机实数方阵 % round():对矩阵元素进行四舍五入运算

B=round(rand(3)*10)

结果为:

A =

10 2 3

5 10 9

9 3 7

B =

1 2 3

0 3 5

9 7 1

(1)输入:

A+B

结果为:

ans =

11 4 6 5 13 14

18 10 8

其中“ans ”表示这次运算的结果。 (2)输入: A -B 结果为: ans =

9 0 0 5 7 4 0 -4 6 (3)输入: 5*A

结果为: ans =

50 10 15 25 50 45 45 15 35 (4)输入: A*B

结果为: ans =

37 47 43 86 103 74 72 76 49 (5)输入 A’

结果为 ans =

10 5 9 2 10 3 3 9 7

例1.3 已知矩阵????

??????=712010321A ,分别计算:(1)5A ;(2)1

-A

解:输入:

A=[1,2,3;0,1,0;2,1,7] 结果为: A =

1 2 3 0 1 0 2 1 7 (1)输入:

A^5

结果为: ans =

3409 2698 11715 0 1 0 7810 6177 26839 (2)输入: inv(A)

或输入A^-1 结果都为: ans =

7 -11 -3 0 1 0

-2 3 1

例1.4已知矩阵??????????=192250596A ,????

??????=182401266B ,且满足B PA =,B AQ =,计算矩阵P 和Q 。

解:方法一:利用求逆矩阵的方法,输入:

A=[6,9,5;0,5,2;2,9,1] B=[6,6,2;1,0,4;2,8,1] P=B*inv(A) Q=inv(A)*B

方法二:利用MATLAB 软件特有的矩阵“左除”和“右除”运算,输入: A=[6,9,5;0,5,2;2,9,1] B=[6,6,2;1,0,4;2,8,1]

P=B/A % 矩阵右除 Q=A\B % 矩阵左除 两种方法的运算结果都为: A =

6 9 5 0 5 2 2 9 1 B =

6 6 2 1 0 4 2 8 1 P =

0.8043 -1.3043 0.5870 0.5761 1.1739 -1.2283 0.0435 -0.0435 0.8696 Q =

0.6087 1.4565 -1.2065 0.0435 0.7826 0.2174 0.3913 -1.9565 1.4565

例1.5 已知矩阵??

??

??????=107026305A ,??????????-=254603312B ,分别按以下要求进行矩阵元素的群

运算:

(1)把矩阵A 和矩阵B 所有对应元素相乘,得到9个乘积,计算由这9个数所构成的同形矩阵C 。

(2)对矩阵A 中的所有元素进行平方运算,得到矩阵D ,求该矩阵。 解:Matlab 软件提供了矩阵元素群运算的功能,输入: A=[5,0,3;6,2,0;7,0,1] B=[2,1,3;3,0,6;4,5,-2] 结果为: A =

5 0 3

6 2 0

7 0 1 B =

2 1

3 3 0 6

4

5 -2

(1)输入:

C=A.*B % 在运算符号前加“.”,其含义即为矩阵元素的群运算 结果为: C =

10 0 9 18 0 0 28 0 -2

(2)输入:

D=A.^2 % 在运算符号前加“.”,其含义即为矩阵元素的群运算 结果为: D =

25 0 9 36 4 0 49 0 1

1.4 实验习题

1.利用函数rand 和函数round 构造一个5×5的随机正整数矩阵A 和B ,验证以下等式是否成立:

(1)BA AB =;(2)()()2

2B A B A B A -=-+;(3)()T T T

A B AB =

2.已知向量()4321=α,()0107=β,请计算它们的内积。要求:

(1)用矩阵相乘命令计算;(2)用矩阵元素群运算的方法计算。

3.已知??????????---=??????????---0152095038125231135

X ,用求逆矩阵和矩阵右除两种方法求矩阵X 。 4、已知A B BA =-,其中????

?

?????-=200012021B ,用求逆矩阵和矩阵左除两种方法求矩阵A 。

5、已知???

??

??

??????

???=43215

3215421543

1543254321

A ,求5A ,1-A 。

实验2 行列式与方程组的求解

2.1实验目的

1.掌握Matlab软件求行列式的命令;

2.掌握Matlab软件求矩阵秩的命令;

3.掌握Matlab软件对矩阵进行初等行变换的命令;

4.掌握Matlab软件求解满秩线性方程组的各种方法;

5.掌握Matlab软件符号变量的应用;

6.通过Matlab软件验证与行列式相关的各种公式和定理,从而加深对相关概念的理解。

2.2实验指导

本实验利用MA TLAB软件来计算与行列式相关的各种运算问题,其中包括:行列式的求解、矩阵秩的求解、矩阵逆的求解、利用克莱姆法则解方程组、验证行列式按行(列)展开定理及符号变量在行列式中的应用等。

MATLAB软件不仅拥有简单明了的命令窗口,而且也提供了程序编辑器。在实验1图1.1所示的MA TLAB操作界面中,点击左上方的小按钮,即可打开MATLAB的M文件编辑器窗口,如图2.1所示,在这个窗口中可以编写扩展名为M的文件。

图2.1 MA TLAB的M文件编辑器

表2.1给出了与本实验相关的MATLAB命令或函数。

表2.1 与本实验相关的MA TLAB命令或函数

命令功能说明位置

A=[….];在赋值语句后,若有一个分号“; ”,它的含义是不在窗口中显示矩阵A。例2.1 U=rref(A) 对矩阵A进行初等行变换,矩阵U为矩阵A的最简行阶梯矩阵。例2.1 clear 清除工作空间中的各种变量,往往写在一个程序最前。例2.1 n=input('…')数据输入函数,单引号内的字符串起说明作用。例2.1 if…elseif…end条件语句,控制程序流程,和C语言功能类似。例2.1 [m,n]=size(A) 计算结果为一个二维行向量,m,n分别存放矩阵A的行数和列数。例2.1 == 关系运算符号:等于例2.1 ~= 关系运算符号:不等于例2.1

2.3实验内容

例2.1 已知非齐次线性方程组:?????

????=++-+=+++-=+-++=+++-=++++85

1035372227772902116115359

131073280543265

43215

43215

43215432154321x x x x x x

x x x x x x x x x x

x x x x x x x x x ,要求用下列方法求解该方程组。

(1)求逆矩阵法; (2)矩阵左除法; (3)初等行变换; (4)克莱姆法则。

解:(1)把齐次线性方程组写为矩阵形式:b Ax =,则b A x 1

-=,直接在MA TLAB 的命令窗口输入:

A=[6,2,3,4,5;2,-3,7,10,13;3,5,11,-16,21;2,-7,7,7,2;7,3,-5,3,10]; % 赋值语句最后的分号“;”,表示不在窗口中显示矩阵A b=[80;59;90;22;85]; x=inv(A)*b %或:x=A^-1*b 计算结果为: x =

9.0000 3.0000 2.0000 1.0000

2.0000

(2)矩阵的乘法不遵守乘法交换律,Matlab 软件定义了矩阵左除和矩阵右除运算,针对方程组的矩阵形式b Ax =,等式两端同时左除A ,得到:“b A x \=”。在MA TLAB 命令窗口中输入:

A=[6,2,3,4,5;2,-3,7,10,13;3,5,11,-16,21;2,-7,7,7,2;7,3,-5,3,10]; b=[80;59;90;22;85];

x=A\b % 符号“\”即为左除运算,注意它的方向。 结果为: x =

9.0000 3.0000 2.0000 1.0000

2.0000 (3)用初等行变换,把方程组的增广矩阵变换为最简行阶梯形式,从而得到方程组的解。在MA TLAB 命令窗口中输入:

A=[6,2,3,4,5;2,-3,7,10,13;3,5,11,-16,21;2,-7,7,7,2;7,3,-5,3,10]; b=[80;59;90;22;85];

U=rref([A,b]) % 对增广矩阵[A,b]进行行初等变换

% 矩阵U 为矩阵A 的最简行阶梯形矩阵

运算结果为: U =

1 0 0 0 0 9 0 1 0 0 0 3 0 0 1 0 0

2 0 0 0 1 0 1 0 0 0 0 1 2

矩阵U 即为方程组增广矩阵的最简行阶梯形矩阵,矩阵的最后一列即为方程组的解。 (4)根据克莱姆法则,有:D

D x i

i =

,其中D 是方程组的系数行列式,i D 是用常数列向量b 代替系数行列式的第i 列所得到的行列式。用Matlab 的M 文件编辑器,编写la01.m 文件如下:

% 用克莱姆法则求解方程组

clear % 清除变量

n=input('方程个数n =') % 请用户输入方程个数

A=input('系数矩阵A=') % 请用户输入方程组的系数矩阵 b=input('常数列向量b=') % 请用户输入常数列向量 if (size(A)~=[n,n]) | (size(b)~=[n,1])

% 判断矩阵A 和向量b 输入格式是否正确

disp('输入不正确,要求A 是n 阶方阵,b 是n 维列向量') % disp :显示字符串

elseif det(A)==0 % 判断系数行列式是否为零 disp('系数行列式为零,不能用克莱姆法则解此方程。')

else

for i=1:n % 计算x1,x2,...xn

B=A; % 构造与A相等的矩阵B

B(:,i)=b; % 用列向量b替代矩阵B中的第i列

x(i)=det(B)/det(A); % 根据克莱姆法则计算x1,x2,...xn end

x=x' % 以列向量形式显示方程组的解

end

在MATLAB命令窗口中输入:

la01

得到以下人机对话结果:

方程个数n=5

n =

5

系数矩阵A=

[6,2,3,4,5;2,-3,7,10,13;3,5,11,-16,21;2,-7,7,7,2;7,3,-5,3,10]

A =

6 2 3 4 5

2 -

3 7 10 13

3 5 11 -16 21

2 -7 7 7 2

7 3 -5 3 10

常数列向量b=[80;59;90;22;85]

b =

80

59

90

22

85

x =

9

3

2

1

2

显然,当方程组的系数矩阵不是方阵,或系数行列式等于零时,逆矩阵法和克莱姆法都不能实现方程组的求解,而初等行变换的方法适合各种线性方程组的求解,在下一个实验中将继续讨论rref命令的详细应用。关于矩阵的左除运算,有着多种的含义,在实验3和实验5中将逐步讨论它的其它功能。

例2.2求矩阵?????

??

?????????----------=411183073920325911311363164627A 的逆,要求用以下方法:

(1)矩阵左除和右除运算;

(2)初等行变换;

(3)利用伴随矩阵*

A 求逆的公式A

A A *

1

=-。

解:在实验1中,已经介绍了两种求矩阵逆的方法:一种是命令法:inv (A ),一种是幂运算法:A^-1。下面分别给出求逆矩阵的其它方法。

(1)Matlab 软件定义了矩阵的左除运算和右除运算,给矩阵运算带来了很大的方便。从公式I A A =-1

出发,等式两边同时右除矩阵A ,得“A I A

/1

=-”,从而求得矩阵A 的逆阵;

若从公式I AA =-1出发,等式两边同时左除矩阵A ,得“I A A

\1

=-”,同样可以求得矩

阵A 的逆阵。需要注意的是,左除和右除不仅是矩阵的左右位置不同,其运算符号也是不

同的。

(2)用笔来计算一个具体n 阶方阵A 的逆阵时,往往采用初等行变换法,即:是把n 阶矩阵A 和n 阶单位矩阵I 并排放在一起,然后对n ×2n 矩阵()I A |做初等行变换,当其变为最简行阶梯矩阵时,如果该矩阵的前n 列为单位矩阵I ,则该矩阵的后n 列就是矩阵A 的逆矩阵1

-A ;如果该矩阵的前n 列不是单位矩阵I ,则矩阵A 不可逆。

(3)根据I A A A AA ==*

*

,可以得到求逆矩阵公式:A

A A *1

=-,其中*

A 为矩阵A 的

伴随矩阵。

在MA TLAB 的M 文件编辑器中,编写程序la02.m : % 逆矩阵各种求法: clear

A=[-7,-2,-6,4,6;1,3,-6,3,11;3,-11,9,5,-2;-3,0,-2,9,-3;7,30,-18,11,4]; % 1.命令法: An1=inv(A) % 2.幂运算法: An2=A^-1

% 3.右除法:

An3=eye(5)/A % eye(5)为5阶单位矩阵 % 4.左除法: An4=A\eye(5) % 5.初等行变换法:

B=rref([A,eye(5)]); % 对矩阵[A , I] 进行初等行变换

% B为矩阵A的最简行阶梯矩阵

if(rank(B(:,1:5))==5) % 判断最简行阶梯矩阵B的前5列是否为单位阵An5=B(:,6:10) % 取出矩阵的后5列,并显示

else

disp('A不可逆');

end

% 6.伴随矩阵求逆法:

for i=1:5 % 构造伴随矩阵的5×5个元素

for j=1:5

T=A; % 把矩阵A赋给矩阵T

T(i,:)=[]; % 删去矩阵T的第i行

T(:,j)=[]; % 删去矩阵T的第j列

% 此时,|T| 为矩阵A元素aij的余子式

AA(j,i)=(-1)^(i+j)*det(T);

% 算出aij的代数余子式

% 并放入矩阵AA的第j行、第i列

% 当循环结束,矩阵AA即为A的伴随矩阵

end

end

if det(A)~=0

An6=AA/det(A)

else

disp('A不可逆');

end

运算程序la02,前四个方法计算结果相同:

1.0e+004 *

-1.5895 1.3448 -1.0646 1.6206 -0.6308

1.6298 -1.3789 1.0916 -1.6617 0.6468

2.5392 -2.1483 1.7007 -2.5889 1.0077

0.3631 -0.3072 0.2432 -0.3702 0.1441

0.9860 -0.8342 0.6604 -1.0053 0.3913

后两个方法计算结果相同:

-15895 13448 -10646 16206 -6308

16298 -13789 10916 -16617 6468

25392 -21483 17007 -25889 10077

3631 -3072 2432 -3702 1441

9860 -8342 6604 -10053 3913 从计算结果可以发现,前四个方法得到的是实数矩阵,而后两个方法得到的是整数矩阵。如果在Matlab环境下,键入:format long(以上结果是在format short格式下得到的),然后再重新运行该程序,会发现前四个方法的运算结果存在误差,这是计算机做数值运算时,存在舍入误差的原因。为了进一步观察计算机做数值运算所产生的误差,现在用上述六种方法

来计算矩阵????

??????=131211*********A 的逆,前四种方法得到以下类似结果: Warning: Matrix is close to singular or badly scaled.

Results may be inaccurate. RCOND = 2.135044e-018. ans =

1.0e+015 *

-4.5036 -4.5036 4.5036 9.0072 9.0072 -9.0072 -4.5036 -4.5036 4.5036 显然此结果是不正确的,因为A 不可逆。

例2.3 解方程:

023

1

7231512231123

2

2

=--x x 。

解:Matlab 软件定义了“符号变量”的概念。在MATLAB 的M 文件编辑器中,应用“符号变量”编写程序la03.m : % 求解符号行列式方程

clear all % 清除各种变量

syms x % 定义x 为符号变量 A=[3,2,1,1;3,2,2-x^2,1;5,1,3,2;7-x^2,1,3,2]

% 给矩阵A 赋值

D=det(A) % 计算含符号变量矩阵A 的行列式D f=factor(D) % 对行列式D 进行因式分解

% 从因式分解的结果,可以看出方程的解 X=solve(D) % 求方程“D =0”的解 在MATLAB 的命令窗口输入: la03

运行结果为: A =

[ 3, 2, 1, 1] [ 3, 2, 2-x^2, 1] [ 5, 1, 3, 2] [ 7-x^2, 1, 3, 2] D =

-6+9*x^2-3*x^4 f =

-3*(x-1)*(x+1)*(x^2-2) X =

[ 1] [ -1] [ 2^(1/2) ]

[ -2^(1/2)]

向量x 即为方程的解,MATLAB 针对符号变量可以得出解析解。 例2.4 请用Matlab 软件验证行列式按行(列)展开公式:

∑=???≠==n

k jk ik j

i j i A A a 1,

0,

当当

解:用Matlab 程序构造了一个5阶随机数方阵A 。首先,按第一行展开:

151512121111A a A a A a s +++=Λ,验证s 是否与A 的行列式相等;其次,计算A 的第一行元素与第三行元素对应的代数余子式乘积之和:351532123111A a A a A a s +++=Λ,验算s 是

否为0。在MA TLAB 的M 文件编辑器中,编写程序la04.m :

% 验证行列式按行(列)展开公式 clear

A=round(10*randn(5)); % 构造5阶随机数方阵 D=det(A); % 计算矩阵A 的行列式

% 矩阵A 按第一行元素展开:s=a11*A11+a12*A12+…+a15*A15 s=0;

for i=1:5 T=A;

T(1,:)=[]; % 删去阵矩第1行 T(:,i)=[]; % 删去矩阵第i 列

% 此时,|T| 为矩阵A 元素a1i 的余子式 s=s+A(1,i)*(-1)^(1+i)*det(T); end

e=D-s % 验算D 与s 是否相等 在MA TLAB 的命令窗口中输入: la04 计算结果为: e = 0

在MA TLAB 的M 文件编辑器中,编写程序la05.m :

% 计算5阶方阵A 的第一行元素与第三行元素对应的代数余子式乘积之和: % s=a11*A31+a12*A32+…+a15*A35 clear

A=round(10*randn(5)); % 构造5阶随机数方阵 s=0;

for i=1:5 T=A;

T(3,:)=[]; % 删去矩阵第3行 T(:,i)=[]; % 删去矩阵第i 列

% 此时,|T| 为矩阵A 元素a3i 的余子式 s=s+A(1,i)*(-1)^(3+i)*det(T); end

s % 验算s 是否为0

在MATLAB 命令窗口中输入: la05 计算结果为: s = 0

2.4实验习题

1.利用函数randn 和函数round 构造一个6×6的随机整数矩阵A ,验证矩阵A 的行列式满足下列性质:

(1)T A B =,验证A B =;

(2)把矩阵A 的第二行和第五行进行对调后的矩阵为B ,验证A B -= (3)把矩阵A 的第三列加到第一列后的矩阵为B ,验证A B =

2.构造5阶方阵A ,验证公式:I A A A AA ==*

*

,其中*A 为矩阵A 的伴随矩阵,I 为同阶单位阵。

3. 求解非齐次线性方程组?????

????=+-+--=+++---=-+----=-++---=-++--120

109956

007421292954114

14622104714141323543215

4321543215432154321x x x x x x x x x x x x x x x x x x x x x x x x x 。

4.求下列矩阵的逆:

(1)????????????????-------------93115416142022117135112611217655201610 (2)???????

?????????----------101101012000711123061535182107135

5.求下列含符号变量的行列式,并要求把结果因式分解。

(1)a

a

a a

a a a a a ---------1100

11000110

0110

001;

(2)a b b b a b a a a a b a b b b a ;(3)4

444

2

2

2

21111d c b a d

c

b

a

d c b a

实验3 向量组的相关性及方程组的通解

3.1实验目的

1. 掌握Matlab 软件分析向量组线性相关性的方法;

2. 掌握Matlab 软件求解线性方程组通解的各种方法;

3. 通过Matlab 软件进一步理解和认识齐次线性方程组解空间的概念。

3.2实验指导

本实验利用MA TLAB 软件来分析向量组的线性相关性;向量的线性表示;齐次线性方程组的通解及非齐次线性方程组的通解。

表3.1给出了与本实验相关的MATLAB 命令或函数。

表3.1 与本实验相关的MA TLAB 命令或函数

3.3实验内容

例3.1求非齐次线性方程组???????=++++-=++-+=--+---=++-+43

1925223196463723626321644254321543215

432154321x x x x x x x x x x x x x x x x x x x x 的通解。

解:在MA TLAB 命令窗口,输入以下命令:

A=[2,4,-1,4,16;-3,-6,2,-6,-23;3,6,-4,6,19;1,2,5,2,19];

% 输入系数矩阵A b=[-2;7;-23;43]; % 输入常数列向量b

[R,s]=rref([A,b]) % 把增广矩阵的最简行阶梯矩阵赋给R

% 而R 的所有基准元素在矩阵中的列号构成了行向量s 计算结果为: R =

1 2 0 2 9 3 0 0 1 0 2 8 0 0 0 0 0 0 0 0 0 0 0 0

s =

1 3

在得出该方程组增广矩阵的最简行阶梯矩阵R 后,根据线性代数知识可以得到该齐次线性方程组的通解。下面,在MATLAB 的M 文件编辑器中,编写程序la06.m ,可以给出该方程组的一个具体特解和对应齐次方程组的通解。 % 求齐次线性方程组的通解 clear

A=[2,4,-1,4,16;-3,-6,2,-6,-23;3,6,-4,6,19;1,2,5,2,19];

% 输入系数矩阵A b=[-2;7;-23;43]; % 输入常数列向量b

[R,s]=rref([A,b]); % 把增广矩阵的最简行阶梯矩阵赋给R

% 而R 的所有基准元素在矩阵中的列号构成了行向量s [m,n]=size(A); % 矩阵A 的行数、列数赋给了变量m 、n x0=zeros(n,1); % 将特解x0初始化为N 维零列向量 r=length(s); % 矩阵A 的秩赋给变量r

x0(s,:)=R(1:r,end); % 将矩阵R 的最后一列按基准元素的位置给特解x0赋值 disp('非齐次线性方程组的特解为:')

x0 % 显示特解x0 disp('对应齐次线性方程组的基础解系为:')

x=null(A,'r') % 得到齐次线性方程组Ax =0的基础解系x 在MATLAB 命令窗口中输入: la06

运算结果为:

非齐次线性方程组的特解为: x0 = 3 0 8 0 0

对应齐次线性方程组的基础解系为: x =

-2 -2 -9 1 0 0 0 0 -2 0 1 0 0 0 1

则方程组的通解为:?????

??

?????????+????????????????--+????????????????-+????????????????-00803102090100200012321k k k

此计算方法和与传统的笔算方法一致,所以其结果也是一致的。齐次线性方程组的特解

还可以用Matlab 的矩阵左除运算来求得,直接在MATLAB 命令窗口输入以下命令: A=[2,4,-1,4,16;-3,-6,2,-6,-23;3,6,-4,6,19;1,2,5,2,19]; b=[-2;7;-23;43];

x0=A\b % 用矩阵左除运算求得方程组特解x0

x=null(A,'r') % 得到齐次线性方程组Ax =0的基础解系x 运算结果为:

Warning: Rank deficient, rank = 2 tol = 4.3099e-014. x0 =

0 0 7.3333 0 0.3333 x =

-2 -2 -9 1 0 0 0 0 -2 0 1 0 0 0 1

其中特解x0与前一方法的特解不同。(注:如果欠定方程组有解,则它有无穷个特解,通解中只需要任何一个特解即可)

方程组的通解为:?????

??

?????????+????????????????--+????????????????-+????????????????-31032200102090100200012321k k k

例3.2 已知向量组????????????????=220111α,????????????????=380432α,????????????????=160323α,????????????????=212394α,?????

??

?????????--=292265α,求出它的

最大无关组,并用该最大无关组来线性表示其它向量。

解:用笔计算的过程为:

[]?????

??

??????

???--==22

132

9168222000

23

34169231,,,,54321αααααA ,对矩阵A 进行初等行变换,最后变为最简行阶梯矩阵:

?????

??

?????????--00

00000110002011

030101,该矩阵基准元素所在的列号为1,2,4,则原向量组的一个最大无关组为:421,,ααα。根据该矩阵的第3列,可以得到:4213011αααα++-=;同理,可以得到:4215123αααα+-=。

根据以上思路,编写Matlab 程序la07.m :

% 找向量组的最大无关组,并用它线性表示其它向量 clear

a1=[1;1;0;2;2]; % 输入5个列向量 a2=[3;4;0;8;3]; a3=[2;3;0;6;1]; a4=[9;3;2;1;2]; a5=[6;-2;2;-9;2];

A=[a1,a2,a3,a4,a5]; % 由5个列向量构造矩阵A

[R,s]=rref(A); % 把矩阵A 的最简行阶梯矩阵赋给了R

% 而R 的所有基准元素在矩阵中的列号构成了行向量s % 向量s 中的元素即为最大无关组向量的下标 r=length(s); % 最大无关组所含向量个数赋给r fprintf('最大线性无关组为:') % 输出字符串 for i=1:r

fprintf('a%d ',s(i)) % 分别输出最大无关组的向量a1,… end

for i=1:r % 从矩阵A 中取出最大无关组赋给A0 A0(:,i)=A(:,s(i)); end

A0 % 显示最大无关组矩阵A0 s0=[1,2,3,4,5]; % 构造行向量s0 for i=1:r

s0(s(i))=0; % s(i)是最大无关组的列号

end % 若s0的某元素不为0,表示该元素为矩阵A 中

% 除最大无关组以外其它列向量的列号

s0=find(s0); % 删除s0中的零元素

% 此时s0中元素为其它向量的列号 for i=1:5-r % 用最大无关组来线性表示其它向量

fprintf('a%d=',s0(i)) for j=1:r

fprintf('%3d*a%d+ ',R(j,s0(i)),s(j)); end

fprintf('\b\b \n'); % 去掉最后一个”+”

矩阵的运算及其运算规则

矩阵基本运算及应用 201700060牛晨晖 在数学中,矩阵是一个按照长方阵列排列的复数或实数集合。矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,三维动画制作也需要用到矩阵。矩阵的运算是数值分析领域的重要问题。将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算。在电力系统方面,矩阵知识已有广泛深入的应用,本文将在介绍矩阵基本运算和运算规则的基础上,简要介绍其在电力系统新能源领域建模方面的应用情况,并展望随机矩阵理论等相关知识与人工智能电力系统的紧密结合。 1矩阵的运算及其运算规则 1.1矩阵的加法与减法 1.1.1运算规则 设矩阵,, 则

简言之,两个矩阵相加减,即它们相同位置的元素相加减! 注意:只有对于两个行数、列数分别相等的矩阵(即同型矩阵),加减法运算才有意义,即加减运算是可行的. 1.1.2运算性质 满足交换律和结合律 交换律; 结合律. 1.2矩阵与数的乘法 1.2.1运算规则 数乘矩阵A,就是将数乘矩阵A中的每一个元素,记为或. 特别地,称称为的负矩阵. 1.2.2运算性质 满足结合律和分配律 结合律:(λμ)A=λ(μA);(λ+μ)A =λA+μA. 分配律:λ(A+B)=λA+λB.

已知两个矩阵 满足矩阵方程,求未知矩阵. 解由已知条件知 1.3矩阵与矩阵的乘法 1.3.1运算规则 设,,则A与B的乘积是这样一个矩阵: (1) 行数与(左矩阵)A相同,列数与(右矩阵)B相同,即 . (2) C的第行第列的元素由A的第行元素与B的第列元素对应相乘,再取乘积之和.

矩阵的定义及其运算规则

矩阵的定义及其运算规则 1、矩阵的定义 一般而言,所谓矩阵就是由一组数的全体,在括号()内排列成m行n 列(横的称行,纵的称列)的一个数表,并称它为m×n阵。 矩阵通常是用大写字母 A 、B …来表示。例如一个m 行n 列的矩阵可以简记为: ,或 。即: (2-3) 我们称(2-3)式中的为矩阵A的元素,a的第一个注脚字母,表示矩阵的行数,第二个注脚字母j(j=1,2,…,n)表示矩阵的列数。 当m=n时,则称为n阶方阵,并用表示。当矩阵(a ij)的元素仅有一行或一列时,则称它为行矩阵或列矩阵。设两个矩阵,有相同的行数和相同的列数,而且它们的对应元素一一相等,即,则称该两矩阵相等,记为A=B。 2、三角形矩阵 由i=j的元素组成的对角线为主对角线,构成这个主对角线的元素称为主对角线元素。 如果在方阵中主对角线一侧的元素全为零,而另外一侧的元素不为零或不全为零,则该矩阵叫做三角形矩阵。例如,以下矩阵都是三角形矩阵: ,,,。 3、单位矩阵与零矩阵 在方阵中,如果只有的元素不等于零,而其他元素全为零,如: 则称为对角矩阵,可记为。如果在对角矩阵中所有的彼此

都相等且均为1,如:,则称为单位矩阵。单位矩阵常用E来表示,即: 当矩阵中所有的元素都等于零时,叫做零矩阵,并用符号“0”来表示。 4、矩阵的加法 矩阵A=(a ij)m×n和B=(b ij)m×n相加时,必须要有相同的行数和列数。如以C=(c ij)表示矩阵A及B的和,则有: m ×n 式中:。即矩阵C的元素等于矩阵A和B的对应元素之和。 由上述定义可知,矩阵的加法具有下列性质(设A、B、C都是m×n矩阵): (1)交换律:A+B=B+A (2)结合律:(A+B)+C=A+(B+C) 5、数与矩阵的乘法 我们定义用k右乘矩阵A或左乘矩阵A,其积均等于矩阵中的所有元素都乘上k之后所得的矩阵。如: 由上述定义可知,数与矩阵相乘具有下列性质:设A、B都是m×n矩阵,k、h为任意常数,则: (1)k(A+B)=kA+kB (2)(k+h)A=kA+hA (3)k(hA)=khA

MATLAB实验二 矩阵基本运算(一)答案

实验一 矩阵基本运算(一) (1)设A 和B 是两个同维同大小的矩阵,问: 1)A*B 和A.*B 的值是否相等? ????? ?? =763514432A ???? ? ??=94 525 313 4B A=[2 3 4;4 1 5;3 6 7]; B=[4 3 1;3 5 2;5 4 9]; A*B, A.*B ans = 37 37 44 44 37 51 65 67 78 ans = 8 9 4 12 5 10 15 24 63 2)A./B 和B.\A 的值是否相等? A=[2 3 4;4 1 5;3 6 7]; B=[4 3 1;3 5 2;5 4 9]; A./B, B./A

ans = 0.5000 1.0000 4.0000 1.3333 0.2000 2.5000 0.6000 1.5000 0.7778 ans = 2.0000 1.0000 0.2500 0.7500 5.0000 0.4000 1.6667 0.6667 1.2857 3)A/B和B\A的值是否相等? A=[2 3 4;4 1 5;3 6 7]; B=[4 3 1;3 5 2;5 4 9]; A/B, B/A ans = -0.3452 0.5119 0.3690 0.7857 -0.7857 0.6429 -0.9762 1.3095 0.5952 ans = 110.0000 -15.0000 -52.0000

92.0000 -13.0000 -43.0000 -22.0000 4.0000 11.0000 4)A/B和B\A所代表的数学含义是什么? 解: A/B是B*A的逆矩阵 B\A是B*A的逆矩阵 (2)写出完成下列操作的命令。 1)将矩阵A第2—5行中第1,3,5列元素赋给矩阵B。 A=[0.9501 0.4565 0.9218 0.4103 0.1389 0.0153 0.2311 0.0185 0.7382 0.8936 0.2028 0.7468 0.6068 0.8214 0.1763 0.0579 0.1987 0.4451 0.4860 0.4447 0.4057 0.3529 0.6038 0.9318 0.8913 0.6154 0.9355 0.8132 0.2722 0.4660 0.7621 0.7919 0.9169 0.0099 0.1988 0.4186] B=A(2:5,[1,3,5]) A = 0.9501 0.4565 0.9218 0.4103 0.1389 0.0153 0.2311 0.0185 0.7382 0.8936 0.2028 0.7468 0.6068 0.8214 0.1763 0.0579 0.1987 0.4451 0.4860 0.4447 0.4057 0.3529 0.6038 0.9318 0.8913 0.6154 0.9355 0.8132 0.2722 0.4660 0.7621 0.7919 0.9169 0.0099 0.1988 0.4186 B = 0.2311 0.7382 0.2028 0.6068 0.1763 0.1987 0.4860 0.4057 0.6038 0.8913 0.9355 0.2722 2)删除矩阵A的第7号元素。 A=rand(6,6); >> A(7)=[inf] A = 0.8385 Inf 0.1730 0.1365 0.2844 0.5155

求矩阵的基本运算

求矩阵的基本运算 #include #include void jiafa() { int m,n; float a[20][20],b[20][20],c[20][20]; int i,j; printf("请输入矩阵行数:"); scanf("%d",&m); printf("请输入矩阵列数:"); scanf("%d",&n); printf("请输入第一个矩阵:"); for(i=0; i

MATLAB矩阵运算基础练习题

第2章 MATLAB 矩阵运算基础 2.1 在MA TLAB 中如何建立矩阵?? ?? ??194375,并将其赋予变量a ? 2.2 请产生一个100*5的矩阵,矩阵的每一行都是[1 2 3 4 5] 2.3产生一个1x10的随机矩阵,大小位于(-5 5) 2.2 有几种建立矩阵的方法?各有什么优点? 可以用四种方法建立矩阵: ①直接输入法,如a=[2 5 7 3],优点是输入方法方便简捷; ②通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; ③由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; ④通过数据文件建立,该方法可以调用由其他软件产生数据。 2.3 在进行算术运算时,数组运算和矩阵运算各有什么要求? 进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数。 2.4 数组运算和矩阵运算的运算符有什么区别? 在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b 为矩阵乘,a.*b 为数组乘。 2.5 计算矩阵??????????897473535与???? ??????638976242之和,差,积,左除和右除。 2.6 求?? ?? ??+-+-+-+-++=i 44i 93i 49i 67i 23i 57i 41i 72i 53i 84x 的共轭转置。 2.7 计算???? ??=572396a 与??????=864142b 的数组乘积。 2.8 “左除”与“右除”有什么区别? 在通常情况下,左除x=a\b 是a*x=b 的解,右除x=b/a 是x*a=b 的解,一般情况下,a\b ≠b/a 。 2.9 对于B AX =,如果??????????=753467294A ,???? ??????=282637B ,求解X 。 2.10 已知:???? ??????=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。 2.11 ??????-=463521a ,?? ????-=263478b ,观察a 与b 之间的六种关系运算的结果。

第一讲 矩阵的概念、运算

第一讲 Ⅰ 授课题目(章节): §2.1 矩阵的概念; §2.2 矩阵的计算 Ⅱ 教学目的与要求: 理解矩阵概念; 掌握矩阵的线性运算、乘法、转置及其运算规律。 Ⅲ 教学重点与难点: 矩阵的乘法 Ⅳ 讲授内容: §2.1 矩阵 定义2.1 由n m ?个数),,2,,1;,,2,1(n j m a ij =排成的m 行n 列的数表 mn m m n n a a a a a a a a a 21222 21112 11 称为m 行n 列矩阵,简称n m ?矩阵.为表示它是一个整体,总是加一个括弧,并用大写黑体字母表示它,记作 ??????? ??=?mn m m n n n m a a a a a a a a a A 212222111211 两个矩阵B A ,,如果都是m 行n 列的,称它们是同型矩阵。否则,称它们是不同型的。 n 行n 列的矩阵n n A ?称为n 阶矩阵(或n 阶方阵) ,简记为n A 。 只有一行的矩阵)(21n a a a A =称为行矩阵,又称行向量.只有一列的矩阵 ?????? ? ??=n b b b B 21 称为列矩阵,又称列向量. 定义2.2 如果)()(ij ij b B a A ==与是同型矩阵,并且它的对应元素相等 ,即

),,2,1;,,2,1(,n j m i b a ij ij === 那么就称矩阵A 与B 相等,记作B A =. 元素都是零的m 行n 列矩阵称为零矩阵,记作n m O ?,简记为O .不同型的零矩阵是 不同的. ??????? ??=100010001 n I 称为n 阶单位矩阵,简记作I .这个矩阵的特点是:从左上角到右下角的直线(叫做主对角线)上的元素都是1,其它元素都是0. §2.2 矩阵的运算 1. 矩阵的加法 定义2.3 设有两个n m ?矩阵)(),(ij ij b B a A ==,那么矩阵A 与B 的和记作A +B , 规定为 n m ij ij b a B A ?+=+)( 设矩阵)(),(ij ij a A a A -=-=记,A -称为矩阵A 的负矩阵.显然有 0)(=-+A A . 规定矩阵的减法为)(B A B A -+=-. 2. 数与矩阵相乘: 定义2.4 数λ与矩阵)(ij a A =的乘积记作A λ,规定为n m ij a A ?=)(λλ 数乘矩阵满足下列运算规律(设B A ,为同型矩阵,μλ,为数): )(i )()(A A μλλμ= )(ii A A A μλμλ+=+)( )(iii B A B A λλλ+=+)( 3. 矩阵与矩阵相乘: 定义 2.5 设)(ij a A =是一个s m ?矩阵,)(ij b B =是一个n s ?矩阵,那么规定矩阵

matlab中的矩阵的基本运算命令

1.1 矩阵的表示 1.2 矩阵运算 1.2.14 特殊运算 1.矩阵对角线元素的抽取 函数diag 格式X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。 X = diag(v) %以v为主对角线元素,其余元素为0构成X。 v = diag(X,k) %抽取X的第k条对角线元素构成向量v。k=0:抽取主对角线元素;k>0:抽取上方第k条对角线元素;k<0抽取下方第k条对角线元素。 v = diag(X) %抽取主对角线元素构成向量v。 2.上三角阵和下三角阵的抽取 函数tril %取下三角部分 格式L = tril(X) %抽取X的主对角线的下三角部分构成矩阵L L = tril(X,k) %抽取X的第k条对角线的下三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。函数triu %取上三角部分 格式U = triu(X) %抽取X的主对角线的上三角部分构成矩阵U U = triu(X,k) %抽取X的第k条对角线的上三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。3.矩阵的变维 矩阵的变维有两种方法,即用“:”和函数“reshape”,前者主要针对2个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操作。 (1)“:”变维 (2)Reshape函数变维 格式 B = reshape(A,m,n) %返回以矩阵A的元素构成的m×n矩阵B B = reshape(A,m,n,p,…) %将矩阵A变维为m×n×p×… B = reshape(A,[m n p…]) %同上 B = reshape(A,siz) %由siz决定变维的大小,元素个数与A中元素个数 相同。 (5)复制和平铺矩阵 函数repmat 格式 B = repmat(A,m,n) %将矩阵A复制m×n块,即B由m×n块A平铺而成。 B = repmat(A,[m n]) %与上面一致 B = repmat(A,[m n p…]) %B由m×n×p×…个A块平铺而成 repmat(A,m,n) %当A是一个数a时,该命令产生一个全由a组成的m×n矩阵。 1.3 矩阵分解 1.3.1 Cholesky分解 函数chol 格式R = chol(X) %如果X为n阶对称正定矩阵,则存在一个实的非奇异上三角阵R,满足R'*R = X;若X非正定,则产生错误信息。 [R,p] = chol(X) %不产生任何错误信息,若X为正定阵,则p=0,R与上相同;若X非正定,则p为正整数,R是有序的上三角阵。 1.3.2 LU分解

矩阵的运算及其运算规则

矩阵的运算及其运算规则 一、矩阵的加法与减法 1、运算规则 设矩阵,, 则 简言之,两个矩阵相加减,即它们相同位置的元素相加减! 注意:只有对于两个行数、列数分别相等的矩阵(即同型矩阵),加减法运算才有意义,即加减运算是可行的. 2、运算性质(假设运算都是可行的) 满足交换律和结合律 交换律; 结合律. 二、矩阵与数的乘法 1、运算规则

数乘矩阵A,就是将数乘矩阵A中的每一个元素,记为或.特别地,称称为的负矩阵. 2、运算性质 满足结合律和分配律 结合律:(λμ)A=λ(μA);(λ+μ)A =λA+μA. 分配律:λ(A+B)=λA+λB. 典型例题 例6.5.1已知两个矩阵 满足矩阵方程,求未知矩阵. 解由已知条件知 三、矩阵与矩阵的乘法 1、运算规则

设,,则A与B的乘积是这样一个矩阵: (1) 行数与(左矩阵)A相同,列数与(右矩阵)B相同,即. (2) C的第行第列的元素由A的第行元素与B的第列元素对应相乘,再取乘积之和. 典型例题 例6.5.2设矩阵 计算 解是的矩阵.设它为 想一想:设列矩阵,行矩阵,和的行数和列数分别是多少呢 是3×3的矩阵,是1×1的矩阵,即只有一个元素. 课堂练习

1、设,,求. 2、在第1道练习题中,两个矩阵相乘的顺序是A在左边,B在右边,称为A左乘B 或B右乘A.如果交换顺序,让B在左边,A在右边,即A右乘B,运算还能进行吗?请算算试试看.并由此思考:两个矩阵应当满足什么条件,才能够做乘法运算. 3、设列矩阵,行矩阵,求和,比较两个计算结果,能得出什么结论吗? 4、设三阶方阵,三阶单位阵为,试求和,并将计算结果与A比较,看有什么样的结论. 解: 第1题 . 第2题 对于

矩阵及其运算测试题

第二章 矩阵及其运算测试题 一、选择题 1.下列关于矩阵乘法交换性的结论中错误的是( )。 (A)若A 是可逆阵,则1A -与1A -可交换; (B)可逆矩阵必与初等矩阵可交换; (C)任一n 阶矩阵与n cE 的乘法可交换,这里c 是常数; (D)初等矩阵与初等矩阵的乘法未必可交换。 2.设n (2n ≥)阶矩阵A 与B 等价,则必有( ) (A) 当A a =(0a ≠)时,B a =; (B)当A a =(0a ≠)时,B a =-; (C) 当0A ≠时,0B =; (D)当0A =时,0B =。 3.设A 、B 为方阵,分块对角阵00A C B ??= ??? ,则* C =( )。 (A) **00 A B ?? ??? (B) **||00 ||A A B B ?? ??? (C) **||00||B A A B ?? ??? (D) **||||0 0||||A B A A B B ?? ??? 4.设A 、B 是n (2n ≥)阶方阵,则必有( )。 (A)A B A B +=+ (B)kA k A = (C) A A B B =-g (D) AB A B = 5.设4阶方阵 44(),()||,ij A a f x xE A ?==-其中E 是4阶单位矩阵,则()f x 中3 x 的系数为( )。 (A)11223344()a a a a -+++ (B)112233112244223344113344a a a a a a a a a a a a +++ (C) 11223344a a a a (D)11223344a a a a +++ 6.设A 、B 、A B +、11A B --+均为n 阶可逆矩阵,则1()A B -+为( )。 (A) 11A B --+ (B) A B + (C) 111()A B ---+ (D)11111()B A B A -----+

矩阵基本性质

矩阵的基本性质 矩阵的第?第列的元素为。我们?或()表?的单位矩阵。 1.矩阵的加减法 (1),对应元素相加减 (2)矩阵加减法满足的运算法则 a.交换律: b.结合律: c. d. 2.矩阵的数乘 (1),各元素均乘以常数 (2)矩阵数乘满足的运算法则 a.数对矩阵的分配律: b.矩阵对数的分配律: c.结合律: d. 3.矩阵的乘法 (1),左行右列对应元素相乘后求和为C的第行第列的元素(2)矩阵乘法满足的运算法则 a.对于一般矩阵不满足交换律,只有两个方正满足且有 b.分配律: c.结合律: d.数乘结合律: 4.矩阵的转置, (1)矩阵的幂:,,…,

(2)矩阵乘法满足的运算法则 a. b. c. d. 5.对称矩阵:即;反对称矩阵:即 (1)设为(反)对称矩阵,则仍是(反)对称矩阵。 (2)设为对称矩阵,则或仍是对称矩阵的充要条件=。 (3)设为(反)对称矩阵,则,也是(反)对称矩阵。 (4)对任意矩阵,则分别是对称矩阵和反对称矩阵且. (5) 6. Hermite矩阵:即;反Hermite矩阵,即 a. b. c. d. e. f.(当矩阵可逆时) 7.正交矩阵:若,则是正交矩阵 (1) (2)

8.酉矩阵:若,则是酉矩阵 (1) (2) (3), (4) 9.正规矩阵:若,则是正规矩阵;若,则是实正规矩阵 10.矩阵的迹和行列式 (1)为矩阵的迹;或为行列式 (2);注:矩阵乘法不满足交换律 (3) (4),为酉矩阵,则 (5) (6) (7) (8) (9) (10) (11) (12),,则其中为奇异分解值的特征值 11.矩阵的伴随矩阵 (1)设由行列式的代数余子式所构成的矩阵

实验1矩阵的基本运算

基础篇 本篇包含五个线性代数的基础实验,从矩阵运算到方程组的求解;从向量组线性相关性分析到矩阵的对角化;从矩阵特征值和特征向量求解到二次型的标准化及正定性的分析,都给出了MATLAB的解决方法。实验5利用MATLAB的绘图功能,对线性代数若干概念的几何意义进行了分析讨论。 实验1 矩阵的基本运算 1.1实验目的 1.掌握Matlab软件的矩阵赋值方法; 2.掌握Matlab软件的矩阵加法、数乘、转置和乘法运算; 3.掌握Matlab软件的矩阵幂运算及逆运算; 4.掌握Matlab软件的矩阵元素群运算; 5.通过Matlab软件进一步理解和认识矩阵的运算规则。 1.2实验指导 MATLAB是一种功能强大的科学及工程计算软件,它的名字由“矩阵实验室”(Matrix Laboratoy)组成,它具有以矩阵为基础的数学计算和分析功能,并且具有丰富的可视化图形表现功能及方便的程序设计能力。它的应用领域极为广泛。本实验学习用MATLAB软件进行矩阵基本运算。 启动MATLAB后,将显示MA TLAB操作界面,它包含多个窗口,其中命令窗口是最常用的窗口,如图1.1所示。 图1.1 MA TLAB的操作桌面 本实验所有例题的MATLAB命令都是在命令窗口中键入的。在本实验中用到MATLAB

的运算符号及命令或函数列举如下: 1、运算符号 表1.1给出了本实验用到的MA TLAB 基本运算符号。 表1.1 MA TLAB 的基本运算符号 2、命令或函数 表1.2给出了与本实验相关的MA TLAB 命令或函数。若要进一步了解和学习某个命令或函数的详细功能和用法时,MATLAB 提供了一个help 命令。 表1.2 与本实验相关的MA TLAB 命令或函数 1.3 实验内容 例1.1 用MA TLAB 软件生成以下矩阵: (1)??????????=066656239A (2)???? ??????=100010001B (3)??????=0000C (4)?? ??? ???????=111111111111 1111 D 解:(1)在MA TLAB 命令窗口输入: A=[9,3,2;6,5,6;6,6,0] % 矩阵同行元素以逗号或空格分割 或:A=[9 3 2;6 5 6;6 6 0] % 行与行之间必须用分号或回车分隔 或:A=[9 3 2 6 5 6 6 6 0] 结果都为: A = 9 3 2 6 5 6 6 6 0

矩阵的基本运算法则

矩阵的基本运算法则 1、矩阵的加法 矩阵加法满足下列运算规律(设A 、B 、C 都是m n ?矩阵,其中m 和n 均为已知的正整数): (1)交换律:+=+A B B A (2)结合律:()()++++A B C =A B C 注意:只有当两个矩阵为同型矩阵(两个矩阵的行数和列数分别相等)时,这两个矩阵才能进行加法运算。 2、数与矩阵相乘 数乘矩阵满足下列运算规律(设A 、B 是m n ?矩阵,λ和μ为数): (1)结合律:()λμλμ=A A (2)分配律:()λμλμ+=+A A A (3)分配律:()λλλ+=+A B A B 注意:矩阵相加与数乘矩阵合起来,统称为矩阵的线性运算。 3、矩阵与矩阵相乘 矩阵与矩阵的乘法不满足交换律、但是满足结合律和分配率(假设运算都是可行的): (1)交换律:≠AB BA (不满足) (2)结合律:()()=AB C A BC (3)结合律:()()()λλλλ==其中为数AB A B A B (4)分配律:()(),+=++=+A B C AB AC B C A BA CA 4、矩阵的转置 矩阵的转置满足下述运算规律(假设运算都是可行的,符号()T g 表示转置): (1)()T T =A A

(2)()T T T +=+A B A B (3)()T T λλ=A A (4)()T T T =AB B A 5、方阵的行列式 由A 确定A 这个运算满足下述运算法则(设A 、B 是n 阶方阵,λ为数): (1)T =A A (2)n λλ=A A (3)=AB A B 6、共轭矩阵 共轭矩阵满足下述运算法则(设A 、B 是复矩阵,λ为复数,且运算都是可行的): (1)+=+A B A B (2)λλ=A A (3)=AB AB 7、逆矩阵 方阵的逆矩阵满足下述运算规律: (1)若A 可逆,则1-A 亦可逆,且()11--=A A (2)若A 可逆,数0λ≠,则λA 可逆,且()111 λλ--=A A (3)若A 、B 为同阶矩阵且均可逆,则AB 亦可逆,且()111---=AB B A 参考文献: 【1】线性代数(第五版),同济大学

矩阵的基本运算

矩阵的基本运算 (摘自:华东师范大学数学系;https://www.sodocs.net/doc/5d138924.html,/)§3.1 加和减 §3.2矩阵乘法 §3.2.1 矩阵的普通乘法 §3.2.2 矩阵的Kronecker乘法 §3.3 矩阵除法 §3.4矩阵乘方 §3.5 矩阵的超越函数 §3.6数组运算 §3.6.1数组的加和减 §3.6.2数组的乘和除 §3.6.3 数组乘方 §3.7 矩阵函数 §3.7.1三角分解 §3.7.2正交变换 §3.7.3奇异值分解 §3.7.4 特征值分解 §3.7.5秩 §3.1 加和减

如矩阵A和B的维数相同,则A+B与A-B表示矩阵A与B的和与差.如果矩阵A和B的维数不匹配,Matlab会给出相应的错误提示信息.如: A= B= 1 2 3 1 4 7 4 5 6 2 5 8 7 8 0 3 6 0 C =A+B返回: C = 2 6 10 6 10 14 10 14 0 如果运算对象是个标量(即1×1矩阵),可和其它矩阵进行加减运算.例如: x= -1 y=x-1= -2 0 -1 2 1 §3.2矩阵乘法 Matlab中的矩阵乘法有通常意义上的矩阵乘法,也有Kronecker乘法,以下分别介绍. §3.2.1 矩阵的普通乘法 矩阵乘法用“ * ”符号表示,当A矩阵列数与B矩阵的行数相等时,二者可以进行乘法运算,否则是错误的.计算方法和线性代数中所介绍的完全相同. 如:A=[1 2 ; 3 4]; B=[5 6 ; 7 8]; C=A*B, 结果为 C=×==

即Matlab返回: C = 19 22 43 50 如果A或B是标量,则A*B返回标量A(或B)乘上矩阵B(或A)的每一个元素所得的矩阵. §3.2.2 矩阵的Kronecker乘法 对n×m阶矩阵A和p×q阶矩阵B,A和B的Kronecher乘法运算可定义为: 由上面的式子可以看出,Kronecker乘积A B表示矩阵A的所有元素与 B之间的乘积组合而成的较大的矩阵,B A则完全类似.A B和B A均为np ×mq矩阵,但一般情况下A B B A.和普通矩阵的乘法不同,Kronecker乘 法并不要求两个被乘矩阵满足任何维数匹配方面的要求.Kronecker乘法的Matlab命令为C=kron(A,B),例如给定两个矩阵A和B: A= B= 则由以下命令可以求出A和B的Kronecker乘积C: A=[1 2; 3 4]; B=[1 3 2; 2 4 6]; C=kron(A,B) C = 1 3 2 2 6 4 2 4 6 4 8 12 3 9 6 4 12 8

矩阵的基本概念

§1 矩阵及其运算 教学要求:理解矩阵的定义、掌握矩阵的基本律、掌握几类特殊矩阵(比如零矩阵,单位矩阵,对称矩阵和反对称矩阵 ) 的定义与性质、注意矩阵运算与通常数的运算异同。能熟练正确地进行矩阵的计算。 知识要点: 一、矩阵的基本概念 矩阵,是由个数组成的一个行列的矩形表格,通常用大写字母表示,组成矩阵的每一个数,均称为矩阵的元素,通常用小写字母其元素表示,其中下标都是正整 数,他们表示该元素在矩阵中的位置。比如, 或表示一个矩阵,下标表示元素位于该矩阵的第行、第列。元素全为零的矩阵称为零矩阵。 特别地,一个矩阵,也称为一个维列向量;而一个矩阵,也称为一个维行向量。

当一个矩阵的行数与烈数相等时,该矩阵称为一个阶方阵。对于方阵,从左上角到右下角的连线,称为主对角线;而从左下角到右上角的连线称为付对角线。若一个阶方阵的主对角线上的元素都是,而其余元素都是零,则称为单位矩阵,记为,即: 。如一个阶方阵的主对角线上(下)方的元素都是零,则称为下(上)三角矩阵,例如,是 一个阶下三角矩阵,而则是一个阶上三角矩阵。今后我们用表示数域上的矩阵构成的集合,而用或者表示数域上的阶方阵构成的集合。 二、矩阵的运算 1、矩阵的加法:如果是两个同型矩阵(即它们具有相同的行数和列数,比如说),则定义它们的和 仍为与它们同型的矩阵(即),的元素为和对应元素的和,即:。 给定矩阵,我们定义其负矩阵为:。这样我们可以定义同型矩阵的减法为:。由于矩阵的加

法运算归结为其元素的加法运算,容易验证,矩阵的加法满足下列运算律: ( 1)交换律:; ( 2)结合律:; ( 3)存在零元:; ( 4)存在负元:。 2 、数与矩阵的乘法: 设为一个数,,则定义与的乘积仍为中的一个矩阵,中的元素就是用数乘中对应的元素的道德,即。由定义可知:。容易验证数与矩阵的乘法满足下列运算律: (1 ); (2 ); (3 ); (4 )。 3 、矩阵的乘法:

实验1-矩阵的基本运算

实验1 矩阵的基本运算 一、实验目的 1、熟悉MATLAB中关于矩阵的基本命令 2、掌握利用MATLAB进行向量、矩阵的输入,向量与向量的运算,矩阵与矩阵的运算,矩阵与向量的运算。 3、掌握利用MATLAB求矩阵的特征值,进行矩阵的初等变换;讨论向量组的线性相关性等运算 二、相关知识 为了进行矩阵的各种运算,首先要输入矩阵。 在MATLAB中,矩阵的输入方法主要有两种: 一种是在MATLAB的命令窗口中输入,这种方法适合输入一些阶数较低的矩阵; 对于一些阶数较高的矩阵,最好采用建立M文件的方法,便于多次利用,也方便在需要的时候可以修改数据。 在命令窗口输入的方法为:>>A=[1,2,3;4,5,6;7,8,9]; 注意:逗号表示同行元素,也可用空格代替,分号表示换行。 使用磁盘文件的方法,则需要建立一个以m为后缀的文本文件,可以用MATLAB提供的编辑器编辑,该编辑器提供了编辑环境和MATLAB程序的调试环境。 该编辑器的使用方法是在MATLAB主菜单中选File —>New —>M-File,就打开了一个编辑器的窗口。 文本文件的内容与在命令窗口中输入的相同。将文本文件放在一个特定的位置(某一个文件夹中),并将该位置加入到MATLAB的工作目录中,用File->Setpath来完成。 使用时,在命令窗口输入文件名,就可以使用该文件中的所有数据了。 注意:多个矩阵可以存放在一个文件中。

三、实验内容 1.已知矩阵A 、B 、b 如下: 建立一个名为sy1sj.m 的文件,将矩阵A 、B 、b 输入其中; 2.在1的基础上,建立文件sy1cx.m ,完成下列计算: 1)X11=A’,X12=A+B ,X13=A-B ,X14=AB ; 2)X21=|A|,X22=|B|; 3)X31=R(A),X32=R(B); 4)X4=A -1; 5)作矩阵C ,其元素为A 的元素乘以每个元素的行标再乘以每个元素的列标。 3.利用文件sy1sj.m 中的数据,完成下列运算,并将程序写在文件sy1_1.m 中: 1)求解矩阵方程XA=B 中的解矩阵X6; 2)求满足方程组AX=b’的解向量X7; 3)求X6的特征向量组,记为X8,相应的对角形记为D ; 4)计算X9=B 2(A -1)2; 4.利用文件sy1sj.m 中的数据,完成下列运算,并将程序写在文件sy1_2.m 中: 1)生成矩阵A 的行向量组:a1,a2,a3,a4,a5,a6; 2)生成矩阵A 的列向量组:b1,b2,b3,b4,b5,b6; 3)由A 的1、3、5行,2、4、6列交叉点上的元素生成A 的子矩阵A3; 4)生成一个12阶矩阵A4,其左上角为A ,右上角为6阶单位阵,左下角为6阶零矩阵,右下角为B ; 5)将A 对应的行向量组正交规范化为正交向量组A5,并验证所得结果; 6)求a1与a2的内积A7; 7)完成以下初等变换:将A 的第一、四行互换,再将其第三列乘以6,再将其第一行的10倍加至第五行; 8)求B 的列向量组的一个极大无关向量组A9,并将其余向量用极大线性无关向量组线性表示。 ????? ??????? ??? ?????-------------=0319 4811876381265428617411647056109 1143A ?? ? ?? ? ??? ? ?? ????? ???------=5036 4 22372536191291132815 1055120 11 8785169723 6421 B [ ] 1197531=b

(完整版)矩阵的运算教案.doc

9.2 矩阵的运算 一、新课引入: 小王、小李在两次数学考试中答对题数如下表表示: 题型 期中 期末 答题 姓 数 填空题 选择题 解答题 填空题 选择题 解答题 名 小王 10 3 2 8 4 4 小李 9 5 3 7 3 3 填空题每题 4 分,选择题 4 分,解答题每题 10 分; 1、观察: 2、思考( 1):如何用矩阵表示他们的答对题数?他们期中、期末的成绩?思 考( 2):如果期中占 40% ,期末占 60% ,求两同学的总评成绩; 3、讨论:今天如何通过矩阵运算来研究上述问题? 二、新课讲授 1、矩阵的加法 (1)引入:记期中成绩答题数为 A ,期末答题数为 B ,则: 10 3 2 8 4 4 A B 9 5 3 7 3 3 确定两次考试的小王,小李的各题型答题总数的矩阵 C 18 7 6 C A B 16 8 6 (2)矩阵的和(差): 当两个矩阵 A 、 B 的维数相同时,将它们各位置上的元素加(减)所得到的矩阵称为矩 阵 A 、 B 的和(差) , 记作: A B A B 。 ( 3)运算律: 加法运算律: 加法结合律: A B B A ; A B C A B C 。 2、矩阵的数乘 (1)引入:计算小王、小李各题型平均答题数的矩阵: 1 9 3.5 3 2 A B 4 3 8 ( 2)矩阵与实数的积: 设 为任意实数, 把矩阵 A 的所有元素与相乘得到的矩阵叫做矩阵 A 与实数 的乘

积矩阵,记作: A 。 (3)运算律:( 、 R ) 分配律: A B A B ; ( ) A A A ; 结合律: A A A 。 3、例题举隅 1 3 3 8 例 2、已知 A 5 , B ,求 A B 2 6 1 4 6 3 - 4 例 3、已知 A 1 , B ,求 A- B 5 7 - 3 例 4、某公司有三家分厂一月份的水费、电费和燃料费如表所示(单位:元),现在公司限 定各分厂的水费、电费、燃料费都至少要节约 20%,用矩阵表示这三家分厂各项费用的限定额 例 5、给出二元一次方程组 a 1 x b 1 y c 1 存在唯一解的条件 a 2 x b 2 y c 2 4、矩阵的乘法 ( 1)引入:总评成绩如何计算 ( 2)矩阵的乘积: 一般,设 A 是 m k 阶矩阵, B 是 k n 阶矩阵,设 C 为 m n 矩阵,如果矩阵 C 中第 i 行第 j 列元素 C ij 是矩阵 A 第 i 个行向量与矩阵 B 的第 j 个列向量的数量积,那么 C 矩阵 叫做 A 与 B 的乘积,记作: (3)运算律: C AB 。 分配律: A(B C ) AB AC ; ( B C ) A BA CA ; 结合律: AB A B A B ; AB C A BC 。 注意: ( 1)交换律不成立,即: AB ( 2)只有当矩阵 A 的列数与矩阵 BA ; B 的行数相等时,矩阵之积才有意义。 5、例题举隅 3 -1 2 1 4 例 6、已知 A , B 1 0 ,求 AB 5 7 - 2

三矩阵的基本运算

第三节矩阵的基本运算 §3.1 加和减 §3.2矩阵乘法 §3.2.1 矩阵的普通乘法 §3.2.2 矩阵的Kronecker乘法 §3.3 矩阵除法 §3.4矩阵乘方 §3.5 矩阵的超越函数 §3.6数组运算 §3.6.1数组的加和减 §3.6.2数组的乘和除 §3.6.3 数组乘方 §3.7 矩阵函数 §3.7.1三角分解 §3.7.2正交变换 §3.7.3奇异值分解 §3.7.4 特征值分解 §3.7.5秩 §3.1 加和减 如矩阵A和B的维数相同,则A+B与A-B表示矩阵A与B的和与差.如果矩阵A和B的维数不匹配,Matlab会给出相应的错误提示信息.如: A= B= 1 2 3 1 4 7 4 5 6 2 5 8 7 8 0 3 6 0 C =A+B返回: C = 2 6 10 6 10 14 10 14 0 如果运算对象是个标量(即1×1矩阵),可和其它矩阵进行加减运算.例如: x= -1 y=x-1= -2 0 -1 2 1 §3.2矩阵乘法 Matlab中的矩阵乘法有通常意义上的矩阵乘法,也有Kronecker乘法,以下分别介绍.

§3.2.1 矩阵的普通乘法 矩阵乘法用“ * ”符号表示,当A 矩阵列数与B 矩阵的行数相等时,二者可以进行乘法运算,否则是错误的.计算方法和线性代数中所介绍的完全相同. 如:A=[1 2 ; 3 4]; B=[5 6 ; 7 8]; C=A*B , 结果为 C=×== 即Matlab 返回: C = 19 22 43 50 如果A 或B 是标量,则A*B 返回标量A (或B )乘上矩阵B (或A )的每一个元素所得的矩阵. §3.2.2 矩阵的Kronecker 乘法 对n ×m 阶矩阵A 和p ×q 阶矩阵B ,A 和B 的Kronecher 乘法运算可定义为: 由上面的式子可以看出,Kronecker 乘积A B 表示矩阵A 的所有元素与B 之间的乘积组合而成的较大的矩阵,B A 则完全类似.A B 和B A 均为np ×mq 矩阵,但一般情况下A B B A .和普通矩阵的乘法不同,Kronecker 乘法并不要求两个被乘矩阵满足任何维数匹配方面的要求.Kronecker 乘法的Matlab 命令为C=kron(A,B),例如给定两个矩阵A 和B : A= B= 则由以下命令可以求出A 和B 的Kronecker 乘积C : A=[1 2; 3 4]; B=[1 3 2; 2 4 6]; C=kron(A,B) C = 1 3 2 2 6 4 2 4 6 4 8 12 3 9 6 4 12 8 6 12 18 8 16 24 作为比较,可以计算B 和A 的Kronecker 乘积D ,可以看出C 、D 是不同的: A=[1 2; 3 4]; B=[1 3 2; 2 4 6]; D=kron(B,A) D = 1 2 3 6 2 4 3 4 9 12 6 8 2 4 4 8 6 12 6 8 12 16 18 24 §3.3 矩阵除法 在Matlab 中有两种矩阵除法符号:“\”即左除和“/”即右除.如果A 矩阵是非奇异方阵,则A\B 是A 的逆矩阵乘B ,即inv(A)*B ;而B/A 是B 乘A 的逆矩阵,即B*inv(A).具体计算时可不用逆矩阵而直接计算. 通常: ???? ??4321???? ??8765???? ???+??+??+??+?8463745382617251???? ??50432219??????? ??=?=B a B a B a B a B a B a B a B a B a B A C nm n n m m (2122221) 11211 ?????≠?1234?? ???132246?? ???

矩阵的定义及其运算规则

矩阵的定义及其运算规则 This model paper was revised by the Standardization Office on December 10, 2020

矩阵的定义及其运算规则 1、矩阵的定义 一般而言,所谓矩阵就是由一组数的全体,在括号()内排列成m行n 列(横的称行,纵的称列)的一个数表,并称它为m×n阵。 矩阵通常是用大写字母A 、B …来表示。例如一个m 行n 列的矩阵可以简记为:,或 。即: (2-3) 我们称(2-3)式中的为矩阵A的元素,a的第一个注脚字母,表示矩阵的行数,第二个注脚字母j(j=1,2,…,n)表示矩阵的列数。 当m=n时,则称为n阶方阵,并用表示。当矩阵(a )的元素仅有一 ij 行或一列时,则称它为行矩阵或列矩阵。设两个矩阵,有相同的行数和相同的列数,而且它们的对应元素一一相等,即,则称该两矩阵相等,记为A=B。 2、三角形矩阵 由i=j的元素组成的对角线为主对角线,构成这个主对角线的元素称为主对角线元素。 如果在方阵中主对角线一侧的元素全为零,而另外一侧的元素不为零或不全为零,则该矩阵叫做三角形矩阵。例如,以下矩阵都是三角形矩阵:

,,,。 3、单位矩阵与零矩阵 在方阵中,如果只有的元素不等于零,而其他元素全为零,如: 则称为对角矩阵,可记为。如果在对角矩阵中所有的彼此都相等且均为1,如:,则称为单位矩阵。单位矩阵常用E来表示,即: 当矩阵中所有的元素都等于零时,叫做零矩阵,并用符号“0”来表示。 4、矩阵的加法 矩阵A=(a ij ) m×n 和B=(b ij ) m×n 相加时,必须要有相同的行数和列数。如以C= (c ij ) m ×n 表示矩阵A及B的和,则有: 式中:。即矩阵C的元素等于矩阵A和B的对应元素之和。

相关主题