matlab稀疏矩阵生成与全元素矩阵相互转化

本博文源于matlab基础,主要讲述稀疏矩阵的生成与全元素矩阵之间的相互转化,sparse全元素矩阵可以转化为稀疏矩阵,而稀疏矩阵通过full可以转化为全元素矩阵

生成稀疏矩阵

这里用到一个函数sparse

S=sparse(A) % 将全元素A转化为稀疏矩阵S
S=sparse(i,j,s,m,n,nzmax) % 创建m*n维稀疏矩阵

下面通过例子进行巩固:

例子:将下面的矩阵转化为稀疏矩阵

在这里插入图片描述
利用第一种格式,代码如下:

>> A=[0 5 0 0;1 0 0 6;0 0 2 0];
>> sparse(A)

ans =

   (2,1)        1
   (1,2)        5
   (3,3)        2
   (2,4)        6

>> 

例子:创建一个6*6的稀疏矩阵,要求:非零元素在主对角线上,其数值为5

>> A=sparse(1:6,1:6,5)

A =

   (1,1)        5
   (2,2)        5
   (3,3)        5
   (4,4)        5
   (5,5)        5
   (6,6)        5

>> 

还原成全元素矩阵

格式

A=full(S) % 将稀疏矩阵S转化为全元素矩阵A

例子:创建一个4阶稀疏矩阵,并将其还原成全矩阵,要求非零元为:a12=5,a23=1,a32=3

>> A = sparse([1 2 3],[2 3 2],[5 1 3],4,4)

A =

   (1,2)        5
   (3,2)        3
   (2,3)        1

>> A1=full(A)

A1 =

     0     5     0     0
     0     0     1     0
     0     3     0     0
     0     0     0     0

>> 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值