等价矩阵(matlab矩阵运算-编程之家

因为MATLAB的数据都以矩阵形式保存,所以理解MATLAB语言中的矩阵操作方法是必须的。 矩阵内包含很多隐含的信息,如果矩阵运算方法选择得当,我们经常会得到意想不到的结果。

例如,可以将矩阵的乘积运算应用于基于关键字的图书检索。 首先,如果以关键字为矩阵,以图书名称为矩阵,则这两个矩阵相乘的结果就是检索结果。 当然,需要给各图书的关键字分配比重,最后将矩阵运算结果按从大到小的顺序显示在检索结果上。 这个例子只是矩阵运算的简单应用。

下面介绍矩阵的建立、运算和分析方法。

创建矩阵

)1)直接输入方式

可以通过在MATLAB命令窗口中直接输入矩阵各行各列的元素来组成矩阵。

等价矩阵(matlab矩阵运算-编程之家

演示1

矩阵中的元素用“[]”包围,矩阵中各行的元素之间用“; 括在中的分割,各列的元素用“,”或空格分割。 如果矩阵很小,可以使用这个方法; 如果矩阵很大,直接输入就很麻烦了。

)2)文件输入法

在矩阵较大或经常使用的数据矩阵的情况下,可以使用save命令将矩阵保存为文件,必要时使用load命令将数据调用到工作环境中。 如果文件中的数据是无序排列的,则可以使用reshape函数对导入的矩阵进行排序。 reshape(x,m,n )在将矩阵的总元素保持恒定的状态下,将矩阵x重新排列为mxn的二维矩阵。

(3)函数调用法

MATLAB提供了几个用于创建特殊矩阵的函数,这些矩阵可以方便快捷地创建矩阵。

ones ()都生成1的矩阵; ones(n ) :生成n*n维的全1矩阵; 生成m*n维的全部1个矩阵;

eye () :生成单位矩阵;

用于生成magic ()魔方矩阵(方阵)的立方体矩阵的各行、各列和两条对角线上的元素之和都相等。 在n次魔方阵的情况下,其要素由1、2、3、…、n^2的合计n^2个整数组成。

zeros () :生成全0矩阵;

生成diag ()对角矩阵; 函数的输入是一维矢量,输出是以该矢量为对角线的对角矩阵。

rand ) )函数)在0~1间生成遵循均匀分布的随机矩阵;

按照randn (函数)高斯分布生成随机矩阵;

等价矩阵(matlab矩阵运算-编程之家

Demo2_1

等价矩阵(matlab矩阵运算-编程之家

演示2 _ 2

对于较大的矩阵,其元素必然与MATLAB提供的函数创建不同,但这并不意味着您不能通过函数调用法创建矩阵。 可以在矩阵中加上常数进行减法运算,也可以重新赋值到矩阵的某些行和列的元素中。 表示操作矩阵中的部分矩阵的方法,即得到原矩阵的部分矩阵,使用x(m:n,q:l ),选择x矩阵m~n行和q~l列的元素进行操作。

等价矩阵(matlab矩阵运算-编程之家

演示3

2 .矩阵的运算和分析

输出由DIAG(a )矩阵a的对角线构成的列矢量;

triu(a )输出为矩阵a的上三角阵; tril(a )输出为矩阵a的下三角排列;

rot90(a,k ) :输出为将矩阵a逆时针旋转了k*90度的矩阵;

将fliplr(a )矩阵a左右反转; 将flipud(a )矩阵a上下反转;

b=inv(a ) :求出a的逆矩阵,满足ab=ba=e(e为单位矩阵)的条件; b=pinv(a ) :求a的伪逆矩阵是逆矩阵概念的延伸,也称为广义逆矩阵,满足ABA=A、BAB=B的条件。

det(a )输出为方阵a的行列式;

compan(p ) :输出是伴随矩阵。 其中,p是多项式的系数向量,高阶幂系数在前,低阶幂在后;

rank(a )输出为矩阵a的等级;

trace(a )输出是矩阵a的痕迹,即矩阵a的对角线上的元素之和;

NORM(v ) :输出为向量v的范数,缺省为2范数; NORM(v,1 ) :计算向量v的一个范数; NORM(v,2 ) :计算向量v的2范数; NORM(v,inf ) :计算向量v的-范数。

EIG(a )输出是矩阵a的特征值和特征向量;

(1) E=eig(A ) a ) :求矩阵a的所有特征值,构成向量e。

(2) ) v,d )=EIG ) a ) :求矩阵a的所有特征值,构成对角矩阵d,求a的固有矢量构成v的列矢量。

(3) v,d )=EIG ) a,’no balance’) ) )与)2)类似,但是)2)中首先对a进行相似变换,然后求出矩阵a的特征值和本征矢量,)3)中直接求出矩阵a的本征值和本征矢量

length(a ) :作为矩阵a的最长维度的长度被输出;

size(a )输出是矩阵a的各维的长度;

等价矩阵(matlab矩阵运算-编程之家

Demo4_1

等价矩阵(matlab矩阵运算-编程之家

德谟4 _ 2

没有手续……

最后,谢谢你的耐心。