实验1:矩阵的基本运算.doc
《实验1:矩阵的基本运算.doc》由会员分享,可在线阅读,更多相关《实验1:矩阵的基本运算.doc(86页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、1基础篇本篇包含五个线性代数的基础实验,从矩阵运算到方程组的求解;从向量组线性相关 性分析到矩阵的对角化;从矩阵特征值和特征向量求解到二次型的标准化及正定性的分析, 都给出了 MATLAB 的解决方法。实验 5 利用 MATLAB 的绘图功能,对线性代数若干概念的几 何意义进行了分析讨论。实验 1 矩阵的基本运算1.1 实验目的1.掌握 Matlab 软件的矩阵赋值方法; 2.掌握 Matlab 软件的矩阵加法、数乘、转置和乘法运算; 3.掌握 Matlab 软件的矩阵幂运算及逆运算; 4.掌握 Matlab 软件的矩阵元素群运算; 5.通过 Matlab 软件进一步理解和认识矩阵的运算规则。
2、1.2 实验指导MATLAB 是一种功能强大的科学及工程计算软件,它的名字由“矩阵实验室” (Matrix Laboratoy)组成,它具有以矩阵为基础的数学计算和分析功能,并且具有丰富 的可视化图形表现功能及方便的程序设计能力。它的应用领域极为广泛。本实验学习用 MATLAB 软件进行矩阵基本运算。 启动 MATLAB 后,将显示 MATLAB 操作界面,它包含多个窗口,其中命令窗口是最 常用的窗口,如图 1.1 所示。图 1.1 MATLAB 的操作桌面本实验所有例题的 MATLAB 命令都是在命令窗口中键入的。在本实验中用到2MATLAB 的运算符号及命令或函数列举如下: 1、运算符号
3、表 1.1 给出了本实验用到的 MATLAB 基本运算符号。表 1.1 MATLAB 的基本运算符号运算符号*/.说明赋值加减乘左除右除幂运算转置群运算2、命令或函数 表 1.2 给出了与本实验相关的 MATLAB 命令或函数。若要进一步了解和学习某个命令 或函数的详细功能和用法时,MATLAB 提供了一个 help 命令。表 1.2 与本实验相关的 MATLAB 命令或函数命令说明位置help inv在命令窗口中显示函数 inv 的帮助信息 创建矩阵例 1.1,矩阵行元素分割符号例 1.1;矩阵列元素分割符号例 1.1%注释行例 1.1eye(n)创建 n 阶单位矩阵例 1.1zeros(m
4、,n)创建 mn 阶零矩阵例 1.1zeros(n)创建 n 阶零方阵例 1.1ones(m,n)创建 mn 阶元素全为 1 的矩阵例 1.1rand(m,n)创建 mn 阶元素为从 0 到 1 的均匀分布的随机数矩阵例 1.2round(A)对矩阵 A 中所有元素进行四舍五入运算例 1.2inv(A)求矩阵 A 的逆例 1.3A-1用幂运算求矩阵 A 的逆例 1.31.3 实验内容例 1.1 用 MATLAB 软件生成以下矩阵:(1)(2)(3)(4) 066656239 A 100010001 B 0000C1111111111111111D解:(1)在 MATLAB 命令窗口输入: A=
5、9,3,2;6,5,6;6,6,0 % 矩阵同行元素以逗号或空格分割 或:A=9 3 2;6 5 6;6 6 0 % 行与行之间必须用分号或回车分隔 或:A=9 3 26 5 66 6 0结果都为: A =9 3 26 5 66 6 03(2)输入: B=eye(3) 结果为: B =1 0 00 1 00 0 1(3)输入: C = zeros(2)结果为: C =0 00 0(4)输入: D = ones(4)结果为: D =1 1 1 11 1 1 11 1 1 11 1 1 1Matlab 对矩阵赋值有直接输入和命令生成两种方法,本例中矩阵 A 就是键盘直接输入 的;而矩阵 B、C 和
6、 D 都是用 Matlab 命令而生成。例 1.2 随机生成两个 3 阶方阵 A 和 B,分别计算:(1)AB;(2)AB;(3)5A;(4)AB;(5)TA 解:输入: A=round(rand(3)*10) % rand(3):生成 3 阶元素为 01 的随机实数方 阵% round():对矩阵元素进行四舍五入运算 B=round(rand(3)*10)结果为: A =10 2 35 10 99 3 7 B =1 2 30 3 59 7 1(1)输入: AB 结果为: ans =411 4 65 13 14 18 10 8其中“ans”表示这次运算的结果。 (2)输入: AB 结果为: a
7、ns =9 0 05 7 40 -4 6(3)输入: 5*A结果为: ans =50 10 1525 50 4545 15 35(4)输入: A*B结果为: ans =37 47 4386 103 7472 76 49(5)输入 A结果为 ans =10 5 92 10 33 9 7例 1.3 已知矩阵,分别计算:(1);(2) 712010321 A5A1A解:输入: A=1,2,3;0,1,0;2,1,7结果为: A =1 2 30 1 02 1 7(1)输入:5A5结果为: ans =3409 2698 117150 1 07810 6177 26839(2)输入: inv(A)或输入
8、A-1 结果都为: ans =7 -11 -30 1 0 -2 3 1例 1.4 已知矩阵,且满足,计算矩 192250596 A 182401266 BBPA BAQ 阵和。PQ解:方法一:利用求逆矩阵的方法,输入: 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,1P=B/A % 矩阵右除 Q=AB % 矩阵左除 两种方法的运算结果都为: A =6 9 50 5 22
9、9 1 B =6 6 21 0 42 8 1 P =0.8043 -1.3043 0.58700.5761 1.1739 -1.22830.0435 -0.0435 0.8696 Q =60.6087 1.4565 -1.20650.0435 0.7826 0.21740.3913 -1.9565 1.4565例 1.5 已知矩阵,分别按以下要求进行矩阵元素的群 107026305 A 254603312 B运算: (1)把矩阵 A 和矩阵 B 所有对应元素相乘,得到 9 个乘积,计算由这 9 个数所构成的同 形矩阵 C。 (2)对矩阵 A 中的所有元素进行平方运算,得到矩阵 D,求该矩阵。
10、解:Matlab 软件提供了矩阵元素群运算的功能,输入: A=5,0,3;6,2,0;7,0,1 B=2,1,3;3,0,6;4,5,-2结果为: A =5 0 36 2 07 0 1 B =2 1 33 0 64 5 -2(1)输入: C=A.*B % 在运算符号前加“.” ,其含义即为矩阵元素的群运算 结果为: C =10 0 918 0 028 0 -2(2)输入: D=A.2 % 在运算符号前加“.” ,其含义即为矩阵元素的群运算 结果为: D =25 0 936 4 049 0 11.4 实验习题1利用函数 rand 和函数 round 构造一个 55 的随机正整数矩阵 A 和 B,
11、验证以下等式是 否成立:(1);(2);(3)BAAB 22BABABATTTABAB72已知向量,请计算它们的内积。要求:43210107(1)用矩阵相乘命令计算;(2)用矩阵元素群运算的方法计算。3已知,用求逆矩阵和矩阵右除两种方法求矩阵 X。 0152095038125231135 X4、已知,其中,用求逆矩阵和矩阵左除两种方法求矩阵ABBA 200012021 BA。5、已知,求,。 4321532154215431543254321A5A1A8实验 2 行列式与方程组的求解2.1 实验目的1.掌握 Matlab 软件求行列式的命令; 2.掌握 Matlab 软件求矩阵秩的命令; 3.
12、掌握 Matlab 软件对矩阵进行初等行变换的命令; 4.掌握 Matlab 软件求解满秩线性方程组的各种方法; 5.掌握 Matlab 软件符号变量的应用; 6.通过 Matlab 软件验证与行列式相关的各种公式和定理,从而加深对相关概念的理解。2.2 实验指导本实验利用 MATLAB 软件来计算与行列式相关的各种运算问题,其中包括:行列式 的求解、矩阵秩的求解、矩阵逆的求解、利用克莱姆法则解方程组、验证行列式按行(列) 展开定理及符号变量在行列式中的应用等。 MATLAB 软件不仅拥有简单明了的命令窗口,而且也提供了程序编辑器。在实验 1 图 1.1 所示的 MATLAB 操作界面中,点击
13、左上方的小按钮,即可打开 MATLAB 的 M 文 件编辑器窗口,如图 2.1 所示,在这个窗口中可以编写扩展名为 M 的文件。图 2.1 MATLAB 的 M 文件编辑器表 2.1 给出了与本实验相关的 MATLAB 命令或函数。表 2.1 与本实验相关的 MATLAB 命令或函数命令功能说明位置A=.;在赋值语句后,若有一个分号“; ” ,它的含义是不在窗口中显示矩阵A。例 2.1U=rref(A)对矩阵 A 进行初等行变换,矩阵 U 为矩阵 A 的最简行阶梯矩阵。例 2.1clear清除工作空间中的各种变量,往往写在一个程序最前。例 2.1n=input()数据输入函数,单引号内的字符串
14、起说明作用。例 2.1ifelseifend条件语句,控制程序流程,和 C 语言功能类似。例 2.1m,n=size(A)计算结果为一个二维行向量,m,n 分别存放矩阵 A 的行数和列数。例 2.19=关系运算符号:等于例 2.1=关系运算符号:不等于例 2.1|逻辑运算符号:逻辑或例 2.1disp(.)显示单引号中的字符串例 2.1det(A)计算矩阵 A 的行列式例 2.1B(:,i)=b把向量 b 赋给矩阵 B 的第 i 列,要求矩阵 B 的列向量和向量 b 同形。例 2.1A,eye(5)创建一个 510 的矩阵,前 5 列为矩阵 A,后 5 列为单位矩阵 I例 2.2B(:,1:5
15、)取矩阵 B 的第 1 列至第 5 列例 2.2rank(A)计算矩阵 A 的秩例 2.2forendfor 循环语句,控制程序流程,和 C 语言功能类似。例 2.2T(1,:)=把一个空行赋给矩阵 T 的第 1 行,即:删除矩阵 T 的第一行。例 2.2A(i,j)引用矩阵 A 中第 i 行第 j 列的元素例 2.2format short以短格式显示例 2.2format long以长格式显示例 2.2syms x定义 x 为符号变量例 2.3factor(D) 对符号变量多项式 D 进行因式分解例 2.3solve(D)求符号变量多项式方程 D0 的解例 2.3randn(m,n)创建
16、mn 阶均值为 0,方差为 1 的标准正态分布的随机矩阵例 2.42.3 实验内容例 2.1 已知非齐次线性方程组:,要求用下列方法851035372227772902116115359131073280543265432154321543215432154321xxxxxxxxxxxxxxxxxxxxxxxxx求解该方程组。 (1)求逆矩阵法; (2)矩阵左除法; (3)初等行变换; (4)克莱姆法则。 解:(1)把齐次线性方程组写为矩阵形式:,则,直接在 MATLAB 的bAx bAx1命令窗口输入: A=6,2,3,4,5;2,-3,7,10,13;3,5,11,-16,21;2,-7,
17、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.00003.0000102.00001.00002.0000(2)矩阵的乘法不遵守乘法交换律,Matlab 软件定义了矩阵左除和矩阵右除运算,针对方程组的矩阵形式,等式两端同时左除 A,得到:“” 。在 MATLAB 命bAx bAx 令窗口中输入: 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
18、;22;85; x=Ab % 符号“”即为左除运算,注意它的方向。 结果为: x =9.00003.00002.00001.0000 2.0000(3)用初等行变换,把方程组的增广矩阵变换为最简行阶梯形式,从而得到方程组的解。 在 MATLAB 命令窗口中输入: 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 90 1 0 0 0 30
19、0 1 0 0 20 0 0 1 0 10 0 0 0 1 2矩阵 U 即为方程组增广矩阵的最简行阶梯形矩阵,矩阵的最后一列即为方程组的解。(4)根据克莱姆法则,有:,其中是方程组的系数行列式,是用常数列向DDxi iDiD量 b 代替系数行列式的第 i 列所得到的行列式。用 Matlab 的 M 文件编辑器,编写 la01.m 文件如下: % 用克莱姆法则求解方程组 clear % 清除变量 n=input(方程个数 n) % 请用户输入方程个数 A=input(系数矩阵 A=) % 请用户输入方程组的系数矩阵 b=input(常数列向量 b=) % 请用户输入常数列向量 if (size(
20、A)=n,n) | (size(b)=n,1)% 判断矩阵 A 和向量 b 输入格式是否正确 disp(输入不正确,要求 A 是 n 阶方阵,b 是 n 维列向量)% disp:显示字符串11elseif det(A)=0 % 判断系数行列式是否为零disp(系数行列式为零,不能用克莱姆法则解此方程。) elsefor i=1:n % 计算 x1,x2,.xnB=A; % 构造与 A 相等的矩阵 BB(:,i)=b; % 用列向量 b 替代矩阵 B 中的第 i 列x(i)=det(B)/det(A); % 根据克莱姆法则计算 x1,x2,.xnendx=x % 以列向量形式显示方程组的解 en
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 试验 矩阵 基本 运算
限制150内