Transcript 数学实验
实验一 矩阵的基本运算(一) 一、实验目的 熟悉MATLAB软件中关于矩阵的基本命令,掌握 利用MATLAB软件进行向量、矩阵的输入,向量 与向量的运算,矩阵与矩阵的运算,矩阵与向量的 运算。 二、相关知识 在线性代数中,我们曾经学过关于向量与向量的运 算,主要包括向量与向量的加减法,数与向量的乘 法;我们还学习过矩阵与矩阵的运算,主要包括矩 阵的加减法,乘法,矩阵与向量的乘法,数与矩阵 的乘法;矩阵的转置;矩阵求逆;矩阵求特征值; 矩阵的初等变换;向量组的线性相关性等。我们现 在要利用MATLAB软件的相关命令来完成这些运 算。在MATLAB中,我们把向量看做1行n列(行 向量)或n行1列(列向量)的矩阵,这样就可以将 向量和矩阵放在一起讨论。 为了进行矩阵的各种运算,首先要输入矩阵。在 MATLAB中,矩阵的输入方法主要有两种,一种 是在MATLAB的命令窗口中输入,这种方法适合 输入一些阶数较低的矩阵,而对于一些阶数较高的 矩阵,则最好采用建立磁盘文件的方法,这样便于 矩阵的初等变换;向量组的线性相关性等。我们现 在要利用MATLAB软件的相关命令来完成这些运 算。在MATLAB中,我们把向量看做1行n列(行 向量)或n行1列(列向量)的矩阵,这样就可以将 向量和矩阵放在一起讨论。 为了进行矩阵的各种运算,首先要输入矩阵。在 MATLAB中,矩阵的输入方法主要有两种,一种 是在MATLAB的命令窗口中输入,这种方法适合 输入一些阶数较低的矩阵,而对于一些阶数较高的 矩阵,则最好采用建立磁盘文件的方法,这样便于 多次利用,也方便在需要的时候可以修改数据。在 命令窗口输入的方法为: >>A=[1,2,3;4,5,6;7,8,9]; 这表示在命令窗口中输入矩阵, 1 2 3 A 4 5 6 7 8 9 多次利用,也方便在需要的时候可以修改数据。在 命令窗口输入的方法为: >>A=[1,2,3;4,5,6;7,8,9]; 这表示在命令窗口中输入矩阵, 1 2 3 A 4 5 6 7 8 9 注意,逗号表示同行元素,也可用空格代替,分号 表示换行。 • 如果使用磁盘文件的方法,则需要建立一个以m为 后缀的文本文件,它可以用MATLAB提供的编辑 器编辑,也可以用任何一个能够编辑文本文件的编 辑器来编辑,但我们建议大家使用MATLAB提供 的编辑器来编辑,因为该编辑器不但提供了编辑环 境,同时还提供了MATLAB程序的调试环境。该 注意,逗号表示同行元素,也可用空格代替,分号 表示换行。 如果使用磁盘文件的方法,则需要建立一个以m为 后缀的文本文件,它可以用MATLAB提供的编辑 器编辑,也可以用任何一个能够编辑文本文件的编 辑器来编辑,但我们建议大家使用MATLAB提供 的编辑器来编辑,因为该编辑器不但提供了编辑环 境,同时还提供了MATLAB程序的调试环境。该 编辑器的使用方法是在MATLAB主菜单中选File — >New —>M-File,就打开了一个编辑器的窗口,如 下图所示: 文本文件的内容与在命令窗口中输入的相同。将文 本文件放在一个特定的位置(某一个文件夹中), 并将该位置加入到MATLAB的工作目录中,用 File->Setpath来完成,这在绪论中已有介绍。使用 时,先在命令窗口输入文件名,接着,就可以使用 该文件中的所有数据了。注意:多个矩阵可以存放 编辑器的使用方法是在MATLAB主菜单中选File — >New —>M-File,就打开了一个编辑器的窗口,如 下图所示: 文本文件的内容与在命令窗口中输入的相同。将文 本文件放在一个特定的位置(某一个文件夹中), 并将该位置加入到MATLAB的工作目录中,用 File->Setpath来完成,这在绪论中已有介绍。使用 时,先在命令窗口输入文件名,接着,就可以使用 该文件中的所有数据了。注意:多个矩阵可以存放 在一个文件中。 关于一些常见的矩阵运算在MATLAB中的实现方 法,我们将MATLAB中关于矩阵的基本命令和功 能列表如下: 序号 1 2 功能 求矩阵A的转置 求矩阵A与矩阵B的和 3 4 求矩阵A减矩阵B 求数k乘以矩阵A MATLAB命令 A’ A+B A-B k*A 在一个文件中。 关于一些常见的矩阵运算在MATLAB中的实现方 法,我们将MATLAB中关于矩阵的基本命令和功 能列表如下: 序号 1 功能 求矩阵A的转置 MATLAB命令 A’ 2 3 4 求矩阵A与矩阵B的和 求矩阵A减矩阵B 求数k乘以矩阵A A+B A-B k*A 5 6 7 8 求矩阵A乘以矩阵B 求A的行列式 A的秩 A的逆 A*B det(A) rank(A) inv(A) 9 10 B左乘A的逆;或A右除B,即B*inv(A) B右乘A的逆;或A左除B,即inv(A)*B B/A A\B 11 A的n次幂 A^n 12 A与B的对应元素相乘 A.*B 13 选择A的第i行生成一个行向量 ai=A(i,:) 14 选择A的第j列生成一个列向量 aj=A(:,j) 5 6 7 求矩阵A乘以矩阵B 求A的行列式 A的秩 A*B det(A) rank(A) 8 A的逆 inv(A) 9 10 B左乘A的逆;或A右除B,即B*inv(A) B右乘A的逆;或A左除B,即inv(A)*B B/A A\B 11 A的n次幂 A^n 12 A与B的对应元素相乘 A.*B 13 选择A的第i行生成一个行向量 ai=A(i,:) 14 选择A的第j列生成一个列向量 aj=A(:,j) 15 选择A的某几行、某几列上 交叉元素生成A的子矩阵 A(起始行:步长:终行, 起始列:步长:终列), 步长为1时可以省略 16 生成n阶零矩阵 zeros(n) 17 生成n阶单位阵 eye(n) 18 两个向量的内积 a1*a2’ MATLAB的一些其它命令: 序号 功能 MATLAB命令 1 存储工作空间变量,即命令窗 口使用过的变量 save 文件名 变量名 15 选择A的某几行、某几列上 交叉元素生成A的子矩阵 A(起始行:步长:终行, 起始列:步长:终列), 步长为1时可以省略 16 生成n阶零矩阵 zeros(n) 17 生成n阶单位阵 eye(n) 18 两个向量的内积 a1*a2’ MATLAB的一些其它命令: 序号 功能 MATLAB命令 1 存储工作空间变量,即命令窗 口使用过的变量 save 文件名 变量名 2 列出工作空间的所有变量 whos 3 help 函数名 可查阅该命令的用法 help命令 4 运行演示程序demo demo命令 三、实验内容 1.已知矩阵A、B、b如下: 4 1 1 9 10 3 6 5 0 7 4 16 1 4 7 1 6 8 A 2 4 5 6 12 8 3 6 7 8 1 1 1 3 0 8 4 9 6 3 2 1 2 4 7 9 16 5 8 7 8 11 20 1 5 5 B 10 15 28 13 1 9 12 19 36 25 7 23 5 2 4 6 3 0 b 1 3 5 7 9 11 在磁盘上建立一个名为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; b 1 3 5 7 9 11 在磁盘上建立一个名为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.完成实验报告。