精华内容
下载资源
问答
  • matlab矩阵运算

    2015-11-04 20:52:57
    讲述了matlab中关于矩阵运算的知识,只有掌握了matlab中的矩阵运算的知识,才能慢慢学习matlab的思维
  • Matlab 矩阵运算

    千次阅读 2014-09-11 10:52:20
    Matlab 矩阵运算 说明:这一段时间用Matlab做了LDPC码的性能仿真,过程中涉及了大量的矩阵运算,本文记录了Matlab中矩阵的相关知识,特别的说明了稀疏矩阵和有限域中的矩阵。Matlab的运算是在...

    本文记录了Matlab中矩阵的相关知识,特别的说明了稀疏矩阵和有限域中的矩阵。Matlab的运算是在矩阵意义下进行的,这里所提到的是狭义上的矩阵,即通常意义上的矩阵。

     

    目录

    第一部分:矩阵基本知识

    一、矩阵的创建

    1. 直接输入法
    1. 利用Matlab函数创建矩阵
    1. 利用文件创建矩阵

    二、矩阵的拆分

    1. 矩阵元素
    2. 矩阵拆分
    1. 特殊矩阵

    三、矩阵的运算

    1. 算术运算
    1. 关系运算
    1. 逻辑运算

    四、矩阵分析

    1. 对角阵
    1. 三角阵
    1. 矩阵的转置与旋转
    1. 矩阵的翻转
    1. 矩阵的逆与伪逆
    1. 方阵的行列式
    1. 矩阵的秩与迹
    1. 向量和矩阵的范数
    1. 矩阵的特征值与特征向量

    五、字符串

    六、其他

    第二部分 矩阵的应用

    一、稀疏矩阵

    1. 稀疏矩阵的创建
    2. 稀疏矩阵的运算
    3. 其他

    二、有限域中的矩阵

    内容

    第一部分:矩阵基本知识(只作基本介绍,详细说明请参考Matlab帮助文档)

    矩阵是进行数据处理和运算的基本元素。在MATLAB

    a、通常意义上的数量(标量)可看成是”1*1″的矩阵;

    bn维矢量可看成是”n*1″的矩阵;

    c、多项式可由它的系数矩阵完全确定。

    一、矩阵的创建

    MATLAB中创建矩阵有以下规则:

    a、矩阵元素必须在”[ ]”内;

    b、矩阵的同行元素之间用空格(或”,”)隔开;

    c、矩阵的行与行之间用”;”(或回车符)隔开;

    d、矩阵的元素可以是数值、变量、表达式或函数;

    e、矩阵的尺寸不必预先定义。

    下面介绍四种矩阵的创建方法:

    1、直接输入法

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

    2、利用MATLAB函数创建矩阵

    基本矩阵函数如下:

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

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

    (3) rand()函数:产生在(01)区间均匀分布的随机阵;

    (4) eye()函数:产生单位阵;

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

    3、利用文件建立矩阵

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

    二、矩阵的拆分

    1.矩阵元素

    可以通过下标(行列索引)引用矩阵的元素,如 Matrix(m,n)。也可以采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。序号(Index)与下标(Subscript )是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。其相互转换关系也可利用sub2indind2sub函数求得。

    2.矩阵拆分

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

    (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表示某一维的末尾元素下标。

    利用空矩阵删除矩阵的元素:

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

    3、特殊矩阵

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

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

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

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

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

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

    三、矩阵的运算

    1、算术运算

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

    (1) 矩阵加减运算 假定有两个矩阵AB,则可以由A+BA-B实现矩阵的加减运算。运算规则是:若AB矩阵的维数相同,则可以执行矩阵的加减运算,AB矩阵的相应元素相加减。如果AB的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。

    (2) 矩阵乘法 假定有两个矩阵AB,若Am*n矩阵,Bn*p矩阵,则C=A*Bm*p矩阵。

    (3) 矩阵除法 MATLAB中,有两种矩阵除法运算://,分别表示左除和右除。如果A矩阵是非奇异方阵,则A/BB/A运算可以实现。A/B等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A) 对于含有标量的运算,两种除法运算的结果相同。对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系,一般A/BB/A

    (4) 矩阵的乘方 一个矩阵的乘方运算可以表示成A^x,要求A为方阵,x为标量。

    (5) 矩阵的转置 对实数矩阵进行行列互换,对复数矩阵,共轭转置,特殊的,操作符.’共轭不转置(见点运算);

    (6) 点运算 MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。点运算符有.*././.^。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。

    2、关系运算

    MATLAB提供了6种关系运算符:<(小于)<=(小于或等于)>(大于)>=(大于或等于)==(等于)~=(不等于)。关系运算符的运算法则为:

    (1) 当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0

    (2) 当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由01组成;

    (3) 当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由01组成。

    3、逻辑运算

    MATLAB提供了3种逻辑运算符:&()|()~() 逻辑运算的运算法则为:

    (1) 在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示;

    (2) 设参与逻辑运算的是两个标量ab,那么,a&b a,b全为非零时,运算结果为1,否则为0 a|b a,b中只要有一个非零,运算结果为1~a a是零时,运算结果为1;当a非零时,运算结果为0

    (3) 若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由10组成;

    (4) 若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由10组成;

    (5) 逻辑非是单目运算符,也服从矩阵运算规则;

    (6) 在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。

    四、矩阵分析

    1、对角阵

    (1) 对角阵 只有对角线上有非0元素的矩阵称为对角矩阵,对角线上的元素相等的对角矩阵称为数量矩阵,对角线上的元素都为1的对角矩阵称为单位矩阵。

    (1) 提取矩阵的对角线元素 Am*n矩阵,diag(A)函数用于提取矩阵A主对角线元素,产生一个具有min(m,n)个元素的列向量。diag(A)函数还有一种形式diag(A,k),其功能是提取第k条对角线的元素。

    (2) 构造对角矩阵 V为具有m个元素的向量,diag(V)将产生一个m*m对角矩阵,其主对角线元素即为向量V的元素。diag(V)函数也有另一种形式diag(V,k),其功能是产生一个n*n(n=m+k)对角阵,其第m条对角线的元素即为向量V的元素。

    2、三角阵

    三角阵又进一步分为上三角阵和下三角阵,所谓上三角阵,即矩阵的对角线以下的元素全为0的一种矩阵,而下三角阵则是对角线以上的元素全为0的一种矩阵。

    (1) 上三角矩阵 求矩阵A的上三角阵的MATLAB函数是triu(A) triu(A)函数也有另一种形式triu(A,k),其功能是求矩阵A的第k条对角线以上的元素。

    (2) 下三角矩阵 MATLAB中,提取矩阵A的下三角矩阵的函数是tril(A)tril(A,k),其用法与提取上三角矩阵的函数triu(A)triu(A,k)完全相同。

    3、矩阵的转置与旋转

    (1) 矩阵的转置 转置运算符是单撇号()

    (2) 矩阵的旋转 利用函数rot90(A,k)将矩阵A旋转90ok倍,当k1时可省略。

    4、矩阵的翻转

    对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,…,依次类推。矩阵A实施左右翻转的函数是fliplr(A),对矩阵A实施上下翻转的函数是flipud(A)

    5、矩阵的逆与伪逆

    (1) 矩阵的逆 对于一个方阵A,如果存在一个与其同阶的方阵B,使得:AB=BA=I (I为单位矩阵则称BA的逆矩阵,当然,A也是B的逆矩阵。求方阵A的逆矩阵可调用函数inv(A)

    (2) 矩阵的伪逆 如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A’同型的矩阵B,使得:ABA=ABAB=B 此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。在MATLAB中,求一个矩阵伪逆的函数是pinv(A)

    6、方阵的行列式

    把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为矩阵所对应的行列式的值。在MATLAB中,求方阵A所对应的行列式的值的函数是det(A)

    7、矩阵的秩与迹

    (1) 矩阵的秩 矩阵线性无关的行数与列数称为矩阵的秩。在MATLAB中,求矩阵秩的函数是rank(A)

    (2) 矩阵的迹 矩阵的迹等于矩阵的对角线元素之和,也等于矩阵的特征值之和。在MATLAB中,求矩阵的迹的函数是trace(A)

    8、向量和矩阵的范数

    矩阵或向量的范数用来度量矩阵或向量在某种意义下的长度。范数有多种方法定义,其定义不同,范数值也就不同。

    (1) 向量的3种常用范数及其计算函数 MATLAB中,求向量范数的函数为:

    anorm(V)norm(V,2):计算向量V2-范数;

    bnorm(V,1):计算向量V1-范数;

    cnorm(V,inf):计算向量V的∞-范数。

    (2) 矩阵的范数及其计算函数 MATLAB提供了求3种矩阵范数的函数,其函数调用格式与求向量的范数的函数完全相同。

    (3) 矩阵的条件数 MATLAB中,计算矩阵A3种条件数的函数是:

    acond(A,1) 计算A1-范数下的条件数;

    bcond(A)cond(A,2) 计算A2-范数数下的条件数;

    ccond(A,inf) 计算A -范数下的条件数。

    9 矩阵的特征值与特征向量

    MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有3种:

    (1) E=eig(A):求矩阵A的全部特征值,构成向量E

    (2) [V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。

    (3) [V,D]=eig(A,nobalance):与第2种格式类似,但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。

    五、字符串

    MATLAB中,字符串是用单撇号括起来的字符序列。MATLAB将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。也可以建立多行字符串矩阵。字符串是以ASCII码形式存储的。absdouble函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵。相反,char函数可以把ASCII码矩阵转换为字符串矩阵。与字符串有关的另一个重要函数是eval,其调用格式为: eval(t) 其中t为字符串。它的作用是把字符串的内容作为对应的MATLAB语句来执行。

    六、其他

    查看矩阵非零元素的分布spy(A)

    第二部分 矩阵的应用

    一、稀疏矩阵

    对于一个 n 阶矩阵,通常需要 n2 的存储空间,当 n 很大时,进行矩阵运算时会占用大量的内存空间和运算时间。在许多实际问题中遇到的大规模矩阵中通常含有大量0元素,这样的矩阵称为稀疏矩阵。Matlab支持稀疏矩阵,只存储矩阵的非零元素。由于不存储那些”0″元素,也不对它们进行操作,从而节省内存空间和计算时间,其计算的复杂性和代价仅仅取决于稀疏矩阵的非零元素的个数,这在矩阵的存储空间和计算时间上都有很大的优点。

    矩阵的密度定义为矩阵中非零元素的个数除以矩阵中总的元素个数。对于低密度的矩阵,采用稀疏方式存储是一种很好的选择。

    1、稀疏矩阵的创建

    (1) 将完全存储方式转化为稀疏存储方式 函数A=sparse(S)将矩阵S转化为稀疏存储方式的矩阵A。当矩阵S是稀疏存储方式时,则函数调用相当于A=S sparse函数还有其他一些调用格式: sparse(m,n):生成一个m*n的所有元素都是0的稀疏矩阵。 sparse(u,v,S)--u,v,S3个等长的向量。S是要建立的稀疏矩阵的非0元素,u(i)v(i)分别是S(i)的行和列下标,该函数建立一个max(u)行、max(v)列并以S为稀疏元素的稀疏矩阵。 此外,还有一些和稀疏矩阵操作有关的函数。full(A):返回和稀疏存储矩阵A对应的完全存储方式矩阵。

    (2) 直接创建稀疏矩阵 S=sparse(i,j,s,m,n),其中分别是矩阵非零元素的行和列指标向量,是非零元素值向量,m分别是矩阵的行数和列数。

    (3) 从文件中创建稀疏矩阵 利用loadspconvert函数可以从包含一系列下标和非零元素的文本文件中输入稀疏矩阵。例:设文本文件 T.txt 中有三列内容

    ,第一列是一些行下标,第二列是列下标,第三列是非零元素值。load T.txt S=spconvert(T)

    (4) 稀疏带状矩阵的创建 S=spdiags(B,d,m,n) 其中分别是矩阵的行数和列数;d是长度为p的整数向量,它指定矩阵S的对角线位置;B是全元素矩阵,用来给定S对角线位置上的元素,行数为min(m,n),列数为

    (5) 其它稀疏矩阵创建函数

    S=speye(m,n)

    S=speye(size(A)) % has the same size as A

    S=buchy % 一个内置的稀疏矩阵(邻接矩阵)

    等等

    2、稀疏矩阵的运算

    稀疏存储矩阵只是矩阵的存储方式不同,它的运算规则与普通矩阵是一样的,可以直接参与运算。所以,Matlab中对满矩阵的运算和函数同样可用在稀疏矩阵中。结果是稀疏矩阵还是满矩阵,取决于运算符或者函数。当参与运算的对象不全是稀疏存储矩阵时,所得结果一般是完全存储形式。

    3、其他

    (1) 非零元素信息

    nnz(S) % 返回非零元素的个数

    nonzeros(S) % 返回列向量,包含所有的非零元素

    nzmax(S) % 返回分配给稀疏矩阵中非零项的总的存储空间

    (2) 查看稀疏矩阵的形状 spy(S)

    (3) find函数与稀疏矩阵

    [i,j,s]=find(S)

    [i,j]=find(S)

    返回 S 中所有非零元素的下标和数值,可以是稀疏矩阵或满矩阵。

    二、有限域中的矩阵

    信道编码中的矩阵运算一般都是基于有限域的,因此需要将普通矩阵转换为有限域中的矩阵,使其运算在有限域GF(m)中。可以通过命令gf(data,m)将数据限制在有限域中,这样如矩阵求逆、相加、相乘等运算就均是基于有限域GF(m)的运算了。

    注:LaTeX写的矩阵显示有问题,图片显示出”&”符号的在html语言下的表示”amp;”,哪位兄弟能帮忙解决下?多谢了,呵呵

    解决方法:用/;代替&。但是这样似乎美观度不够,估计是Latex Math插件的bug。呵呵,不知道有没有更好的解决办法。

    2 Responses to “Matlab 矩阵运算”

    Feed for this Entry Trackback Address

     

    1. 1 zhuyan
      Aug 7th, 2008 at 1:03 上午
      Good! I like this one…
      If possible, I suggest you not use 
      Matlab. The reason is
      (1) you have learned 
      MATLAB
      (2) Matlab is not a good language. Try C or python
      Just a suggestion…
      Yan
    2. 2 tomcat
      Aug 7th, 2008 at 2:35 上午
      呵呵,我已经用C写了LDPC的仿真,因为
      Matlab的执行速度确实有点慢,尤其是for循环超过两个之后。不过Matlab的系统级算法建模还是比较容易,在项目初期用Matlab对系统建立一个模型,可以让自己对项目有个直观的、定性的了解。

     

    源文档 <http://linlyjiang.blog.163.com/blog/static/86890819200911285726646/>

     

     diag()提取对角阵

     fliplr()左右翻转

    flipud()上下翻转

     reshape()改变矩阵大小

    rot90()旋转90°

    tril()提取下三角阵

     triu()提取上三角阵

     cond() 计算矩阵条件数

     norm() 计算矩阵或向量范数

     rcond() Linpack逆条件值估计

    rank() 计算矩阵秩

    det() 行列式值

    null() 零矩阵

     orth() 正交化

     rref() 行最简型变换

    inv() 求逆

    eig() 特征值和特征向量

    poly() 求特征多项式

    cross() 矢量积

    dot() 点积

     qr() QR分解

     nnls() 非负最小二乘

    展开全文
  • MATLAB矩阵运算很全-MATLAB基本矩阵运算.doc 这里有关于矩阵和数组运算的最基本法则,可以参考
  • MATLAB矩阵运算

    2009-11-01 20:33:25
    三个MATLAB小程序(矩阵运算)的代码。
  • Matlab矩阵运算

    2020-10-19 15:19:27
    对于矩阵A,B a=max(A,[ ],2) %求每行最大元素 a=min(A,[ ],2) %求每行最小元素 a=max(A) %求每列最大元素 a=min(A) %求每列最小元素 a=max(max(A)) &a=max(A(:)) %求矩阵最大元素 ...

    对于矩阵A,B

    矩阵输入

    [1,2]

    [1;2]

    行      1 2

    列      1              

              2    

    [1,2;3,4]                 1    2

                                  3    4

     

    a=max(A,[ ],2) %求每行最大元素 a=min(A,[ ],2) %求每行最小元素
    a=max(A) %求每列最大元素 a=min(A) %求每列最小元素
    a=max(max(A)) & a=max(A(:))  %求矩阵最大元素 a=min(A) & a=min(A(:))  %求矩阵最小元素
           
    b=prod(A,2) %求每行元素的乘积 c=prod(b)  &  c=prod(A(:))  %求每行元素的乘积
    b=dot(X,Y) %点乘维数相同向量 b=cross(X,Y) %叉乘维数相同向量
           
    B=sort(A) %对每列升序排序    B=-sort(-A,2) %对每行升序排序 
    [B,I]=sort(A) %列排序,将元素原本行号传给矩阵I    
           
    det(A) %矩阵的行列式 rank(A) %矩阵的秩
    inv(A) %矩阵A的逆矩阵 [V,D]=eig(B) %B的特征值矩阵V与特征向量矩阵D
    X=A*inv(B) %XB=A Y=inv(B)*A

    %BY=A

           
    d2=simple(d1) %化简表达式d1 pretty(d2) %让d2符合常用书写习惯
           

     

     

    展开全文
  • MATLAB矩阵运算与应用 基本知识 什么是矩阵 矩阵向量以及数组的关系 先来看一个5*5的矩阵 17241815 行向量 23571416 46132022 101219213 11182529 矩阵由行向量和列向量组成,实际上, 它是一张数据表,每行的列数相等,...
  • MATLAB 矩阵运算

    2017-04-27 12:28:07
    生成矩阵的命令 功能描述  a = [ ] 生成空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵大小为零。 b = zeros(m, n) 生成一个m行,n列的零矩阵 c = ones(m, n) 生成一个m行,n列的元素全为1的矩阵 d =...


    生成矩阵的命令 功能描述
     a = [ ] 生成空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵大小为零。
    b = zeros(m, n) 生成一个m行,n列的零矩阵
    c = ones(m, n) 生成一个m行,n列的元素全为1的矩阵
    d = eye(m, n) 生成一个m行,n列的单位矩阵
    rand(m) 生成m阶均匀分布的随机矩阵
    randn(m) 生成m阶正态分布的随机矩阵

    表达式或命令函数 功能描述
    A(k, :) 提取矩阵A的第k行
    A(:, k) 提取矩阵A的第k列
    A(:) 依次提取矩阵A的每一列,将A拉伸为一个列向量
    A(i1:i2, j1:j2) 提取矩阵A的第i1~i2行、第j1~j2列,构成新矩阵
    A([a b c d], :) 提取矩阵A的指定的第a、b、c、d行,构成新矩阵
    A(:, [e f g h]) 提取矩阵A的指定的第e、f、g、h列,构成新矩阵
    A(i2:-1:i1, :) 以逆序提取矩阵A的第i1~i2行,构成新矩阵
    A(:, j2:-1:j1) 以逆序提取矩阵A的第j1~j2列,构成新矩阵
    A(i1:i2, :) = [ ] 删除A的第i1~i2列,构成新矩阵
    A(:, j1:j2) = [ ]

    删除A的第j1~j2列,构成新矩阵













    表达式 功能描述
    A + B(A - B) A与B为同型矩阵,对应元素相加减。
    A* B A的列数要等于B的行数,按代数学中定义的矩阵乘法法则计算。
    A/ B X = A/ B是线性方程XA = B的解。当B是可逆矩阵时,A/B = A* B逆。
    A\ B

    X = A\ B是线性方程AX = B的解。当A是可逆矩阵时,A\B = A逆* B。

    A.* B A与B为同型矩阵,对应元素相乘。
    A./ B A与B为同型矩阵,对应元素相除。
    A.^ B A与B为同型矩阵,A中元素对应B中元素乘方运算。










    矩阵与标量的运算表达式 功能描述(A为矩阵,c为标量)
    A + c(A - c) A中每个元素加减常数c。
    A* c (c* A) A中每个元素乘常数c。
    A/ c A中每个元素除常数c。
    c./ A 常数c分别被A中对应每个元素相除。
    c.^ A 常数c与A中对应每个元素的乘方运算。
    A.^ c 对应与A中每个元素的c次乘方运算。
    A^ c A是方阵,当c大于零时表示矩阵的方幂,当c小于零时表示A逆的方幂。










    矩阵的函数运算命令 功能 命令 功能
    det(A) 求矩阵A的行列式。 rref(A) 求矩阵A的阶梯型的行最简形式。
    inv(A) 求方阵A的逆矩阵。 rank(A)  求矩阵A的秩。
    size(A) 求矩阵A的阶数。 trace(A) 求矩阵A的迹。
    eig(A) 求矩阵A的特征值及特征向量。 [Q, R] = qr(A) 求正交矩阵Q和上三角阵R满足A = QR。
    orth(A) 将非奇异矩阵A正交规范化。    




    展开全文
  • Python 模仿 matlab 矩阵运算 Python matrices (subclass of numpy.matrix) behaving as matlab matrices
  • MATLAB矩阵运算函数表函数名函数功能abs( ) 绝对值、负数的模、字符串的ASCII码值都可用来求字符串矩阵所对应的ASCII码数值矩阵double( )char( ) 可以把ASCII码数值矩阵转换为字符串矩阵fix( ) 向零方向取整floor( )...

    MATLAB矩阵运算函数表

    函数名函数功能

    abs( ) 绝对值、负数的模、字符串的ASCII码值都可用来求字符串矩阵所

    对应的ASCII码数值矩阵double( )

    char( ) 可以把ASCII码数值矩阵转换为字符串矩阵

    fix( ) 向零方向取整

    floor( ) 不大于自变量的最大整数

    ceil( ) 不小于自变量的最小整数

    round( ) 四舍五入到最邻近的整数

    rem(x,y) 求余函数

    mod(x,y) %

    exp( ) 指数函数

    [ ] 空操作符

    format 格式符设置或改变数据输出格式 (其中格式符决定数据的输出格式)

    e1:e2:e3 冒号表达式可以产生一个行向量

    (其中e1为初始值,e2为步长,e3为终止值)

    linspace(a,b,n) 产生一个行向量

    (其中a和b是生成向量的第一个和最后一个元素,n是元素总数) [注:linspace(a,b,n)与a:(b-a)/(n-1):b等价]

    A(:,j) 表示取A矩阵的第j列全部元素

    A(i,:) 表示A矩阵第i行的全部元素

    A(i,j) 表示取A矩阵第i行、第j列的元素

    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列中的所有元素

    zeros 产生全0矩阵(零矩阵)

    ones 产生全1矩阵(幺矩阵)

    eye 产生单位矩阵

    rand 产生0~1间均匀分布的随机矩阵

    randn 产生均值为0,方差为1的标准正态分布随机矩阵

    zeros(size(A)) 建立一个与矩阵A同样大小的零矩阵

    reshape(A,m,n) 在矩阵总元素保持不变的前提下,将矩阵A重新排成m×n的二维矩阵magic(n) 生成一个n阶魔方矩阵(其每行、每列及两条对角线上的元素和都相等)

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

    hilb(n) 生成希尔伯特矩阵

    invhilb(n) 求n阶的希尔伯特矩阵的逆矩阵

    (用一般方法求逆会因原始数据的微小扰动而产生不可靠的计算结果)

    toeplitz(x,y) 生成一个以x为第1列,y为第1行的托普利兹矩阵(除第1行第1列外,

    展开全文
  • MATLAB矩阵运算部分知识总结
  • matlab矩阵运算和数组运算》由会员分享,可在线阅读,更多相关《matlab矩阵运算和数组运算(7页珍藏版)》请在人人文库网上搜索。1、更新时间:2010-5-3matlab矩阵运算和数组运算作者:佚名教程来源:网络点击数:...
  • matlab矩阵运算实例.txt

    2012-10-01 14:45:42
    matlab矩阵运算实例.txt
  • MATLAB 矩阵运算示例

    2018-02-09 17:50:35
    MATLAB矩阵运算clccleara=[1;2]b=[3;4]c=[5;6]d=[a b c]e=sqrt(a.*a+b.*b+c.*c)f=sqrt(d.*d)g=a.*a+b.*b+c.*c

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,241
精华内容 1,696
关键字:

matlab矩阵运算

matlab 订阅