信息与计算科学专业实习报告 联系客服

发布时间 : 星期二 文章信息与计算科学专业实习报告更新完毕开始阅读67633e140b1c59eef8c7b4c3

信息与计算科学专业 专业实习报告

(1 )(2 )(3 )(4 )

; ; 。

2.2.5对称矩阵

定义1.11 阶方阵条件:且仅当 当

,则称 对任意的 对任意的

若满足条件: 为反对称矩阵。若设

成立;

,则称

为对称矩阵;若满足

为对称矩阵,当

,则

为反对称矩阵,当且仅

成立。从而反对称局针对角线上的元素必为

零。对称矩阵具有如下性质:

(1 )对于任意矩阵;

(2 )两个同阶(反)对称矩阵的和,仍为(反)对称矩阵; (3 )如果两个同阶(反)对称矩阵 乘积

必为对称矩阵,即

可交换,即

,则它们的

矩阵

为 阶对称矩阵;而

阶对称

第三章 Matlab数学软件

3.1矩阵的表示

在Matlab中创建矩阵有以下规则: a、矩阵元素必须在”[ ]”内;

b、矩阵的同行元素之间用空格(或”,”)隔开; c、矩阵的行与行之间用”;”(或回车符)隔开; d、矩阵的元素可以是数值、变量、表达式或函数; e、矩阵的尺寸不必预先定义。

9

信息与计算科学专业 专业实习报告

3.2矩阵的创建

3.2.1直接输入法

最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入的方法按照上面的规则。建立向量的时候可以利用冒号表达式,冒号表达式可以产生一个行向量,一般格式是: e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。还可以用linspace函数产生行向量,其调用格式为:linspace(a,b,n) ,其中a和b是生成向量的第一个和最后一个元素,n是元素总数。

3.2.2利用Matlab函数创建矩阵

基本矩阵函数如下:

(1) ones()函数:产生全为1的矩阵,ones(n):产生n*n维的全1矩阵,ones(m,n):产生m*n维的全1矩阵;

(2) zeros()函数:产生全为0的矩阵;

(3) rand()函数:产生在(0,1)区间均匀分布的随机阵; (4) eye()函数:产生单位阵;

(5) randn()函数:产生均值为0,方差为1的标准正态分布随机矩阵。

3.2.3利用文件建立矩阵

当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在需要时直接将文件利用load命令调入工作环境中使用即可。同时可以利用命令reshape对调入的矩阵进行重排。reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵。

3.3矩阵的简单操作

3.3.1获取矩阵元素

可以通过下标(行列索引)引用矩阵的元素,如 Matrix(m,n)。 也可以采用矩阵元素的序号来引用矩阵元素。 矩阵元素的序号就是相应元素在内存中的排列顺序。

10

信息与计算科学专业 专业实习报告

在Matlab中,矩阵元素按列存储。

序号(Index)与下标(Subscript )是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。

其相互转换关系也可利用sub2ind和ind2sub函数求得。

3.3.2矩阵拆分

3.3.2.1利用冒号表达式获得子矩阵

(1) A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。

(2) A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。 3.3.2.2利用空矩阵删除矩阵的元素

在Matlab中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。注意,X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。

3.3.3特殊矩阵

3.3.3.1魔方矩阵

魔方矩阵有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等。对于n阶魔方阵,其元素由1,2,3,…,n2共n2个整数组成。Matlab提供了求魔方矩阵的函数magic(n),其功能是生成一个n阶魔方阵。 3.3.3.2范得蒙矩阵

范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。在Matlab中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵。

11

信息与计算科学专业 专业实习报告

3.3.3.3希尔伯特矩阵

希尔伯特矩阵在Matlab中,生成希尔伯特矩阵的函数是hilb(n)。使用一般方法求逆会因为原始数据的微小扰动而产生不可靠的计算结果。Matlab中,有一个专门求希尔伯特矩阵的逆的函数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵。

3.3.3.4托普利兹矩阵

托普利兹(Toeplitz)矩阵除第一行第一列外,其他每个元素都与左上角的元素相同。生成托普利兹矩阵的函数是toeplitz(x,y),它生成一个以x为第一列,y为第一行的托普利兹矩阵。这里x, y均为向量,两者不必等长。toeplitz(x)用向量x生成一个对称的托普利兹矩阵。 3.3.3.5伴随矩阵

伴随矩阵 Matlab生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。 3.3.3.6帕斯卡矩阵

帕斯卡矩阵我们知道,二次项(x+y)n展开后的系数随n的增大组成一个三角形表,称为杨辉三角形。由杨辉三角形表组成的矩阵称为帕斯卡(Pascal)矩阵。函数pascal(n)生成一个n阶帕斯卡矩阵。

3.4矩阵的运算

3.4.1算术运算

Matlab的基本算术运算有:+(加)、-(减)、*(乘)、/(右除)、\\(左除)、^(乘方)、’(转置)。运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。 3.4.1.1矩阵加减

矩阵加减运算假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算,

12