Matlab---2.5稀疏矩阵

矩阵的存储方式

  1. 完全存储方式:
    将矩阵的所有元素按存储,即零元素也要被存储。
  2. 稀疏存储方式:
    只存储矩阵的非零元素的值及其位置,即行号和列号。注意,采用稀疏存储方式时,矩阵元素的存储顺序并没有改变,也是按照的顺序进行存储。
    在这里插入图片描述

稀疏存储方式的产生

  1. 完全存储方式与稀疏矩阵存储方式之间的转化:
  • 将矩阵S转化为稀疏存储方式的矩阵A
A = sparse(eye(5)) 
  • 将矩阵A转化为完全存储方式的矩阵S
S =full(A)

在这里插入图片描述
2. 直接建立稀疏存储矩阵:

  • 生成一个m×n的所有元素都是0的稀疏矩阵
>>sparse(m,n);
  • u、v、S是3个等长的向量。S是要建立的稀疏存储矩阵的非零元素,u(i)、v(i)分别是S(i)的行标和列标。
>>sparse(u,v,S);
  • A为一个m×3或m×4的矩阵,其每行表示一个非零元素,m是非零元素的个数。每一个非零元素由3个/4个数据描述,如下:
    (1) A(i,1)表示第i个非零元素所在的行。
    (2) A(i,2)表示第i个非零元素所在的列。
    (3) A(i,3)表示第i个非零元素的实部。
    (4) A(i,4)表示第i个非零元素的虚部。
    若矩阵的全部元素都是实数,都无需第4列。
>> A = [2,2,3;2,1-1;2,4,6];
>> sparse(A)
  1. 带状稀疏矩阵的稀疏存储
  • 带状稀疏矩阵:所有非零元素集中在对角线上的矩阵
  • 从带状稀疏矩阵A中提取全部非零对角线元素赋给矩阵B及这些非零对角线的位置向量d。
>>[B,d] = spdiags(A);
  • 产生带状稀疏矩阵的稀疏存储矩阵A,其中m、n为原带状稀疏矩阵的行数和列数,矩阵B的第i列即为原稀疏带状矩阵的第i条非零对角线,向量d为原稀疏带状矩阵所有非零对角线的位置。
>>A = spdiags(B,d,m,n); //给出四个参数是为了用这
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值