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

    2021-04-20 12:44:48
    主要包括特征值、奇异值、条件数、各类范数、矩阵秩、、矩阵迹、及矩阵空间运算。通用形式:funm(A,'函数名'), 其中A为输入矩阵变量,如,funm(B,'log'),起作用等同于logm(b).特征值范数:eig 或eigs,此函数能返回...

    主要包括特征值、奇异值、条件数、各类范数、矩阵秩、、矩阵迹、及矩阵空间运算。

    通用形式:funm(A,'函数名'), 其中A为输入矩阵变量,如,funm(B,'log'),起作用等同于logm(b).

    特征值范数:eig 或eigs,此函数能返回矩阵的特征值及其特征向量,

    例:>>A=[7,3,-1;3,4,-1;-2,-1,3];

    >>[x,y]=eig(A)     %  x为特征向量矩阵,y为特征值对角矩阵。

    奇异值函数:svd 或 svds

    条件数函数:

    cond   计算矩阵的条件数的值

    condest   计算矩阵的1范数条件数的估计值

    rcond   计算矩阵的条件数的倒数

    特征值的条件数:[V,D,S] =condeig(A). 其中V为特征向量组成的矩阵,D的对角元素师对应的特征值,S是对应的特征值条件数

    范数函数:其中norm的调用格式为cond(X,P),P的取值可以是1,2,inf或fro

    秩函数:rank

    正交空间函数:orth

    奇异值分解:[U,S,V]=svd(X),生成U,S ,V使得X=U x S x V'

    矩阵LU分解: 将系数矩阵A转变成等价两个矩阵L和U的乘积 ,其中L和U分别是下三角和上三角矩阵。当A的所有顺序主子式都不为0时,矩阵A可以唯一的分解为A=LU。其中L是单位下三角矩阵,U是上三角矩阵。由lu函数实现。

    空阵:在matlab中定义[ ]为空阵,他是实际存在的变量,结束为0x0维

    全0阵:zeros(N)   生成NxN介的全0阵

    单位阵eye(N),  生成NxN介的单位阵

    全1阵:ones(N)  生成NxN介的全1阵

    随机阵:rand(N) 生成NxN介的均匀分布的随机矩阵元素值在(0.0,1.0)区间

    正太分布的随机阵:randn(N)    生成NxN介的正态分布(N(0,1))的随机阵

    矩矩阵的特殊操作:

    1.变维操作:常用“:”和函数“reshape”前者主要是针对两个矩阵之间的运算实现变维,后者则针对一个矩阵的变维操作

    2.矩阵变向:矩阵逆时针方向旋转90°rot90(A)

    3.矩阵的抽取:对角元素抽取diag(X,K),抽取X的第K条对角线元素向量,K为0时则抽取主对角线,K为正抽取上方第K条对角线

    展开全文
  • MATLAB矩阵运算部分知识总结

    MATLAB矩阵部分知识总结

    1.1矩阵运算

    1.1.1矩阵的定义与建立
    ①空矩阵法:A=[]
    ②Zeros函数法
    ③eye函数法
    ④逗号、空格分号法:A=[1 2 3;4 5 6]
    ⑤冒号法:A=[1 2 3;4 5 6] A=(1,1:3)=2
    ⑥用linspace或者logspace来定义一个行向量
    ⑦A=[1 2 3];B=[4 5 6]; C=[A;B]
    ⑧复数法:C=A+Bi;
    ⑨rand(n)建立元素在(0,1)内的随机分布的n阶方阵,或者rand(m,n)建立m
    n矩阵或者rand(size(A))建立与A同阶矩阵

    1.1.2由已知矩阵得到新矩阵
    diag(A): 生成一个由矩阵A的对角元素组成的列向量。主对角元素总是从左上角第一个元素开始,到右下角结束。若A是方阵,则对角线止于右下角
    diag(A,k): 生成由矩阵A的第k条对角线的元素组成的列向量。
    diag(X): 生成一个以向量X的元素为主对角线元素,其余元素为0的方阵。
    diag(X,k):生成一个以向量X的元素为第k条对角线元素,其余元素都是0的m阶方阵。
    triu(A): 生成一个主对角线及以上元素是A的元素,其余都为0的上三角矩阵。
    triu(A,k):类似diag(X,k)
    tril(A): 生成一个主对角线及以下元素是A的元素,其余都为0的上三角矩阵。
    tril(A,k): 类似diag(X,k)

    1.1.3矩阵的操作与变换

    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
    计算矩阵的行列式、秩和迹:
    det(A): 计算方阵A的行列式
    rank(A): 计算方阵A的秩
    trace(A): 计算方阵A的迹

    计算矩阵的特征值与特征向量:
    eig(A): 计算n阶方阵A的特征值
    [U,E]=eig(A): 计算n阶方阵A的特征值和特征向量(特征分解),其中X矩阵的每一列对应一个特征向量。

    1.2多项式运算

    1.2.1计算多项式的值与根:
    在这里插入图片描述
    1.2.2多项式的运算:
    在这里插入图片描述
    1.2.3多项式的拟合与插值
    在这里插入图片描述

    1.3数理统计

    1.3.1数据的最大、最小值与排序
    在这里插入图片描述
    1.3.2求和、乘积与差分
     sum(x): 求向量x所有元素之和。
     sum(A): 求矩阵A的各列元素和。
     prod(x): 求向量x中各元素的乘积。
     prod(A): 求向量A中各列元素的乘积向量。
     diff(x): 求向量x的差分向量,即相邻两元素之差组成的向量。
     diff(A): 求矩阵A的列差分矩阵,即求列相邻两元素之差组成的矩阵.

    1.3.3平均值、中值与标准差
    在这里插入图片描述
    1.3.4协方差与相关系数
    在这里插入图片描述
    1.3.5数据取整

    ceil:向上取整
    floor:向下取整
    fix:向零取整
    round:四舍五入
    mod、rem:取余数处理
    abs(x):对数据取模
    angle(x):对数据取相位
    phase(x):对数据取相位并解卷绕
    real(x):对数据取实部
    imag(x):对数据取虚部

    展开全文
  • MATLAB矩阵运算函数

    2021-04-22 20:50:19
    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 矩阵运算

    2021-04-22 03:29:59
    Copyright 2008说明:这一段时间用Matlab做了LDPC码的性能仿真,过程中涉及了大量的矩阵运算,本文记录了Matlab中矩阵的相关知识,特别的说明了稀疏矩阵和有限域中的矩阵。Matlab的运算是在矩阵意义下进行的,这里所...

    Copyright 2008

    说明:这一段时间用Matlab做了LDPC码的性能仿真,过程中涉及了大量的矩阵运算,本文记录了Matlab中矩阵的相关知识,特别的说明了稀疏矩阵和有限域中的矩阵。Matlab的运算是在矩阵意义下进行的,这里所提到的是狭义上的矩阵,即通常意义上的矩阵。

    目录

    内容

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

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

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

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

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

    一、矩阵的创建

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

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

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

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

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

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

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

    1、直接输入法

    最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入的方法按照上面的规则。建立向量的时候可以利用冒号表达式,冒号表达式可以产生一个行向量,一般

    格式是: e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。

    还可以用linspace函数产生行向量,其调用格式为:linspace(a,b,n)

    ,其中a和b是生成向量的第一个和最后一个元素,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()函数:产生在(0,1)区间均匀分布的随机阵;

    (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。其相互转换关系也可利用sub2ind和ind2sub函数求

    得。

    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,…,n2共n2个整数组成。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) 矩阵加减运算

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

    素相加减。如果A与B的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。

    (2) 矩阵乘法 假定有两个矩阵A和B,若A为m*n矩阵,B为n*p矩阵,则C=A*B为m*p矩阵。

    (3) 矩阵除法

    在MATLAB中,有两种矩阵除法运算:\和/,分别表示左除和右除。如果A矩阵是非奇异方阵,则A\B和B/A运算可以实现。A\B等效于A的逆左乘B

    矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。

    对于含有标量的运算,两种除法运算的结果相同。对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系,一般A\B≠B/A。

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

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

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

    2、关系运算

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

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

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

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

    3、逻辑运算 MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)。 逻辑运算的运算法则为:

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

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

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

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

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

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

    四、矩阵分析

    1、对角阵

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

    (1) 提取矩阵的对角线元素 设A为m*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旋转90º的k倍,当k为1时可省略。

    4、矩阵的翻转

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

    5、矩阵的逆与伪逆

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

    (2) 矩阵的伪逆

    如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A’同型的矩阵B,使得:ABA=A,BAB=B

    此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。在MATLAB中,求一个矩阵伪逆的函数是pinv(A)。

    6、方阵的行列式

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

    7、矩阵的秩与迹

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

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

    8、向量和矩阵的范数

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

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

    a、norm(V)或norm(V,2):计算向量V的2-范数;

    b、norm(V,1):计算向量V的1-范数;

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

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

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

    a、cond(A,1) 计算A的1-范数下的条件数;

    b、cond(A)或cond(A,2) 计算A的2-范数数下的条件数;

    c、cond(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码形式存储的。abs和double函数都可以用来获取字符串矩阵所对应的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,S是3个等长的向量。S是要建立的稀疏矩阵的非0元素,u(i)、v(i)分别是S(i)的行和列下标,该函数

    建立一个max(u)行、max(v)列并以S为稀疏元素的稀疏矩阵。

    此外,还有一些和稀疏矩阵操作有关的函数。full(A):返回和稀疏存储矩阵A对应的完全存储方式矩阵。

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

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

    %5Cbegin%7Bbmatrix%7D1%5C%3B+3+%5C%3B+5%5C%5C+2+%5C%3B+4+%5C%3B+6%5C%5C+2+%5C%3B+5+%5C%3B+8%5C%5C+3+%5C%3B+6+%5C%3B+9%5Cend%7Bbmatrix%7D,第一列是一些行下标,第二列是列下标,第三列是非零元素值。load T.txt S=spconvert(T)。

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

    (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 中所有非零元素的下标和数值,S 可以是稀疏矩阵或满矩阵。

    二、有限域中的矩阵

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

    那么如何将有限域元素转换为double型的呢?可以利用命令 double(data.x) 其中x是后缀。关于有限域的详细情况请参考。

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

    解决方法:用\;代替&。估计这个问题是Latex Math插件的bug。呵呵,不知道有没有更好的解决办法。

    展开全文
  • MATLAB矩阵运算-乘法

    千次阅读 2021-04-21 01:48:29
    如果矩阵A的列数等于矩阵B的行数,那么矩阵相乘,即C=A*B,就被定义为二维矩阵。...在矩阵乘法运算中A*B与B*A是不同的(线性代数知识),若只是矩阵A、B对应元素相乘,则是A.*B(乘号前面加个点.)。设矩阵...
  • MatLab矩阵计算

    2021-05-05 06:56:33
    取名MATLAB即Matrix Laboratory 矩阵实验室的意思。例如: 在MATLAB命令窗口输入命令:a=[1,1.5,2,9,7; 0,3.6,0.5,-4,4;7,10,-3,22,33;3,7,8.5,21,6;3,8,0,90,-20]将显示一个5*5矩阵MATLAB的数据与变量① 命名规则...
  • MATLAB矩阵运算与应用实例.ppt》由会员分享,可在线阅读,更多相关《MATLAB矩阵运算与应用实例.ppt(14页珍藏版)》请在人人文库网上搜索。1、MATLAB矩阵运算和应用,A,2,1,基本知识,矩阵,矢量和数组之间的关系...
  • matlab矩阵运算和数组运算》由会员分享,可在线阅读,更多相关《matlab矩阵运算和数组运算(7页珍藏版)》请在人人文库网上搜索。1、更新时间:2010-5-3matlab矩阵运算和数组运算作者:佚名教程来源:网络点击数:...
  • A+B,A-B,8A,A的平方,A*B,矩阵A的逆. 1.A+B >>A=ones(3);B=magic(3);C=A+B 2.A-B >>%同上 3.8A >>8*A 4.A的平方,A*B,矩阵A的逆. >>A.^2;A^2;A*B;A.*B;inv(A); 注意:像带点"."时对应...
  • 目的:想把运算量的计算时间控制在一帧以内,以实现帧同步。(需求:优化代码)问题:通过测试,发现每次运算的时间都大于一帧。约3到4帧的时间。如下图。由于个人能力有限,网上也查阅了很多方法,折腾了好久,实现想...
  • matlab入门——矩阵运算 原创不易,路过的各位大佬请点个赞 矩阵运算matlab入门——矩阵运算1、矩阵加法2、矩阵减法3、矩阵乘法3.1、 数乘运算3.2、 矩阵相乘3.2、点乘运算4、矩阵除法4.1、左除法4.2、右除法5、矩阵...
  • 实验二matlab矩阵运算 共 17 页,第 0 页02014 秋 2012 级《MATLAB 程序设计》实验报告班级:软件 C121 姓名:冯杨腾 学号:125692实验二 MATLAB 矩阵及运算一、实验目的1、掌握矩阵和数组的表示与赋值方法2、了解...
  • MATLAB矩阵基本运算

    2021-11-23 23:55:03
    常用矩阵函数运算 矩阵元素的群运算 第二章向量与矩阵 列向量的建立,元素间用;号隔开: a = [2; 1; 4] 这样就可以运行出来一个列向量 要创建行向量,我们仍然是把一组数值用方括号括起来,不过这次使用的...
  • Matlab矩阵运算

    2021-04-18 05:22:47
    第2章MATLAB矩阵及其运算2.1变量和数据操作2.2MATLAB矩阵2.3MATLAB运算2.4矩阵分析2.5矩阵的超越函数2.6字符串2.7结构数据和单元数据2.8稀疏矩阵2.1变量和数据操作2.1.1变量与赋值1.变量命名在MATLAB6.5中,变量名...
  • MATLAB矩阵及其运算

    千次阅读 2021-04-18 05:09:55
    第2章MATLAB矩阵及其运算2.1变量和数据操作2.2MATLAB矩阵2.3MATLAB运算2.4矩阵分析2.5矩阵的超越函数2.6字符串2.7结构数据和单元数据2.8稀疏矩阵2.1变量和数据操作2.1.1变量与赋值1.变量命名在MATLAB 6.5中,变量名...
  • MATLAB矩阵及其数值运算

    千次阅读 2021-04-18 06:06:25
    matlab矩阵及其数值运算变量和数据操作变量与赋值1.变量命名在MATLAB6.5中,变量名是以字母开头,后接字母、数字或下划线的字符序列,最多63个字符。在MATLAB中,变量名区分字母的大小写。2.赋值语句(1) 变量=...
  • 根据有限差分法原理,将求解范围划分为一系列等间距的离散节点后,一维薛定谔方程转化为可以用一个矩阵方程...文章编号: 17—7521)3 020 6288 ( 00— 4—5 0 0通过有限差分和 MA L B矩阵运算 T A直接求解一维薛定谔...
  • matlab矩阵运算中只对部分数值进行计算的技巧 % In this example, you define a single target that initially travels at a % constant velocity of 200 m/s for 33 seconds, then enters a constant turn % of 10 ...
  • matlab矩阵运算命令

    2021-04-18 07:31:45
    还有有关极限、积1.1 矩阵的表示 1.2 矩阵运算 1.2.14 特殊运算 1.矩阵对角线元素的抽取 函数 diag 格式 X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第...
  • 本发明涉及一种电力系统潮流计算的导纳矩阵计算方法,特别是一种适合研究目的使用的基于Matlab的潮流计算的导纳矩阵计算方法。背景技术::电力系统潮流计算是研究电力系统稳态运行的一项基本计算,它根据给定的运行...
  • 没转行前搞土建,大四时在导师公司实习做一个力学...matlab矩阵运算主要分稠密矩阵运算和稀疏矩阵运算:稠密矩阵运算:其他答案基本提到的是这种,没啥好说的,主要是调用实现blas,lapack等接口的底层库,比如m...
  • %matlab矩阵及其基本运算 a=[1,2,3,4,5,6];%用空格或者逗号分割; size(a); %size()获取矩阵的大小; [x,y]=size(a); disp(x); disp(y); %多维数组的创建 A=[1,2,3;4,5,6;7,8,9]; B=[1,2,3 4,5,6 7,8,9] disp...
  • A+B,A-B,8A,A的平方,A*B,矩阵A的逆.1.A+B>>A=ones(3);B=magic(3);C=A+B2.A-B>>%同上3.8A>>8*A4.A的平方,A*B,矩阵A的逆.>>A.^2;A^2;A*B;A.*B;inv(A);注意:像带点.时对应元素相乘((如A....
  • MATLAB矩阵计算大全

    2021-04-19 07:27:48
    通过在矩阵变量后加’的方法来表示转置运算a=[10,2,12;34,2,4;98,34,6];a'%% ans =%% 10 34 98%% 2 2 34%% 12 4 6% 2. 矩阵求逆inv(a)% ans =%% -0.0116 0.0372 -0.0015%% 0.0176 -0.1047 0.0345%% 0.0901 -0.0135 ...
  • 1.矩阵的关系运算 关系运算符:<, <=, >, >=, ==, ~= 运算结果:真(1),假(0) 运算法则 标量比较:直接比较数的大小 矩阵比较:对应位置元素按照标量运算关系进行比较,最终结果为一个由0和1组成...
  • 有时候我们需要进行数据分析,但是对于复杂的矩阵运算的时候,我们往往会计算很长时间,这不仅仅是浪费我们的时间,而且计算量也特别的大。为了解决这个问题,我们利用数学软件matlab来进行简单的操作,复杂的矩阵也...
  • Matlab下大矩阵运算

    2021-04-18 07:04:30
    注意,一般Sparse矩阵运算如sum, diag等之后还是sparse矩阵,而当sparse矩阵和full矩阵一起参加运算时,结果会被强制转为full矩阵。要注意,当一个矩阵并不是很稀疏时尽量不要采用sparse方式存储,不便于矩阵运算,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 79,944
精华内容 31,977
关键字:

matlab矩阵的运算

matlab 订阅