matlab 稀疏矩阵 乘法,Matlab 矩阵运算

本文详细介绍了Matlab中的矩阵基础知识,包括矩阵的创建、拆分、运算,以及稀疏矩阵的创建、运算和其他相关函数。特别讨论了如何在Matlab中进行矩阵乘法、矩阵的转置、逻辑运算以及对角阵、三角阵的处理。此外,还阐述了稀疏矩阵的存储优化,以及如何在有限域中进行矩阵运算。
摘要由CSDN通过智能技术生成

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列中的所有元素。此外࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值