1、稀疏矩阵的储存方式

对于稀疏矩阵,MATLAB仅储存矩阵所有非零元素的值及其位置(行号和列号)。

2、稀疏矩阵的生成

1)利用sparse函数从满矩阵转换得到稀疏矩阵

函数名称 表示意义
sparse(A) 由非零元素和下标建立稀疏矩阵A。如果A已是一个稀疏矩阵,则返回A本身。
sparse(u,v,a) 生成大小为max(u) x max(v)的稀疏矩阵。其中u和v是整数向量,a是实数或者复数向量
sparse(u,v,a,m,n) 生成m x n 的一个稀疏矩阵,(ui,vi)对应值ai,向量u,v和a的长度必须一样
spconvert(D) 生成一个稀疏矩阵D。D共有三列,第一列为行下表,第二列为列下表,第三列为元素值
full(S) 将稀疏矩阵S转换为满矩阵
>> clear all
>> x=[1 2 3]x =1     2     3>> y=[4 5 6]y =4     5     6>> sparse(x,y,7)ans =(1,4)        7(2,5)        7(3,6)        7>> S=sparse([1,2,3,4,5],[2,1,4,6,2],[10,3,-2,-5,1],10,12)S =(2,1)        3(1,2)       10(5,2)        1(3,4)       -2(4,6)       -5>> A=full(S)A =0    10     0     0     0     0     0     0     0     0     0     03     0     0     0     0     0     0     0     0     0     0     00     0     0    -2     0     0     0     0     0     0     0     00     0     0     0     0    -5     0     0     0     0     0     00     1     0     0     0     0     0     0     0     0     0     00     0     0     0     0     0     0     0     0     0     0     00     0     0     0     0     0     0     0     0     0     0     00     0     0     0     0     0     0     0     0     0     0     00     0     0     0     0     0     0     0     0     0     0     00     0     0     0     0     0     0     0     0     0     0     0

nnz(S):查看非零元素的个数

nonzeros(S):非零元素的值

nzmax(S):获取储存非零元素的空间长度

spy(S):对稀疏矩阵的非零元素进行图形化显示

2)利用一些特定函数创建包括单位稀疏矩阵在内的特殊稀疏矩阵

特殊稀疏矩阵的创建函数
函数 d调用格式 m描述
speye S=speye(m,n) 创建单位稀疏矩阵
spones S=spones(X) 创建非零元素为1的稀疏矩阵
sprand S=sprand(X) 创建非零元素为均匀分布的随机数稀疏矩阵
sprandn S=sprandn(X) 创建非零元素为高斯分布的随机数的稀疏矩阵
sprandsym S=sprandsym(X) 创建非零元素为高斯分布的随机数的对称稀疏矩阵
spdiags S=spdiags(X) 创建对角稀疏矩阵
spalloc spalloc(X)

为稀疏矩阵分配空间

>> A=speye(5)A =(1,1)        1(2,2)        1(3,3)        1(4,4)        1(5,5)        1>> B=speye(5,6)B =(1,1)        1(2,2)        1(3,3)        1(4,4)        1(5,5)        1>> a=full(A)a =1     0     0     0     00     1     0     0     00     0     1     0     00     0     0     1     00     0     0     0     1>> b=full(B)b =1     0     0     0     0     00     1     0     0     0     00     0     1     0     0     00     0     0     1     0     00     0     0     0     1     0>> C=spones(a)C =(1,1)        1(2,2)        1(3,3)        1(4,4)        1(5,5)        1

3、稀疏矩阵的运算

满矩阵的四则运算对稀疏矩阵同样有效

对单个稀疏矩阵的输入,大部分函数输出的结果都是稀疏矩阵

对多个矩阵的输入,如果至少有一个矩阵式满矩阵,那么,大部分结果输出的是满矩阵

对矩阵的加减乘除运算,只要有一个是满矩阵,输出结果是满矩阵

稀疏矩阵的数乘是稀疏矩阵

稀疏矩阵的幂是稀疏矩阵

c创建非零元素为高斯分布的随机数的稀疏矩阵

【MATLAB】稀疏矩阵(含有大量0元素的矩阵)相关推荐

  1. matlab中如何从一个矩阵的行列中找出 0 元素的个数 或者位置 并作为判断条件

    问题描述:  2维数组A[2,100],要求根据A(1,:)中的非零元素的索引值来对数组做相应的处理!  在网上可以查阅到 find()函数的各种用法,也可以查询到 isnan()函数的用法,但是没有 ...

  2. python 矩阵除法_请问matlab编程,怎样让两个矩阵对应元素相除?

    展开全部 >> clear >> A=[3 6 9]; >> B=[1 2 3]; >> C=A./B C = 3 3 3 注: MATLAB在矩阵的运 ...

  3. MATLAB运用all函数剔除0元素

    大家好,最近在做一个数学仿真,需要对一个行向量进行剔除0元素的处理,因此学习了all函数和any函数的使用方法,希望能帮到遇到相同问题的朋友. 首先介绍all函数和any函数的使用,然后给出实例帮助大 ...

  4. matlab出现索引超出数组元素的数目(0)怎么解决

    Matlab 出现索引超出数组元素的数目 (0) 通常表示你试图访问一个空数组或者超出数组索引的范围.以下是一些可能的解决方案: 检查你的代码,确保没有在程序中使用空数组. 检查数组的索引是否正确.例 ...

  5. 如何用三元组表表示下列稀疏矩阵_稀疏矩阵的压缩存储可以用一个三元组表来表示稀疏矩阵中的非0元素。...

    问题:稀疏矩阵的压缩存储可以用一个三元组表来表示稀疏矩阵中的非0元素. 答案:对 更多相关问题 (本小题满分10分)已知抛物线的焦点坐标是F(0,-2), 求它的标准方程. I bought a dr ...

  6. matlab 合并相同元素,matlab中删除相邻相同元素

    matlab中删除相邻相同元素 关注:126  答案:2  手机版 解决时间 2021-03-06 01:51 提问者你說.你愛我 2021-03-05 20:49 A=[zx as cd cd re ...

  7. MATLAB程序设计与应用 3.1 特殊矩阵

    MATLAB程序设计与应用 文章目录 MATLAB程序设计与应用 3. 第3章 MATLAB矩阵处理 3.1 特殊矩阵 3.1.1 通用的特殊矩阵 3.1.2 用于专门学科的特殊矩阵 3. 第3章 M ...

  8. MATLAB快速入门(二):矩阵

    矩阵 目录 矩阵 1.冒号表达式 2.矩阵元素的引用 3.矩阵的运算 3.1算术运算 3.2逻辑运算 4.特殊矩阵 5.矩阵变换 5.1对角阵 5.2三角阵 5.3矩阵旋转 5.4稀疏矩阵 6.矩阵求 ...

  9. 用MATLAB实现plu分解,编制计算给定矩阵 A 的 LU 分解和 PLU 分解的通用程序

    用VB编写一个程序,计算出给定的10*10矩阵(存放在二维数组A中)每行元素的最大值和每列元素的最小值 ModuleModule1SubMain()DimA(,)AsInteger={{1,2,3,4 ...

最新文章

  1. 270个开源项目,总计24w星,帮你快速找代码
  2. 机器学习导论(张志华):渐近性质
  3. T-SQL Recipes之Customized Database Objects
  4. 04 breakcontinue
  5. linux修改文件没有备份文件,linux文件或目录权限修改后如何恢复(备份了权限就能恢复)...
  6. 【转】.net框架读书笔记---CLR内存管理\垃圾收集(一)
  7. Android10弹出截屏对话框,Android一个美丽而聪明的警告对话框SweetAlert
  8. 作者:李超(1988-),男,上海交通大学硕士生,主要研究方向为大数据网络。...
  9. centOS 6.4 vsftpd 500 illegal port command
  10. 余承东嘲讽苹果:iPhone 12落后华为Mate40两代
  11. echarts(五)高级篇(多坐标轴、复杂多坐标轴)
  12. win10一直卡在欢迎界面进不去怎么办
  13. 基于vueJs框架的翻页组件
  14. RT_Thread自问自答
  15. echarts html ppt,PPT美化之echarts
  16. oracle公共同义词查找,[Oracle]同义词(synonym)
  17. Spring 工作原理
  18. gregorian(格里高力)历转换公历
  19. 面试笔试算法-搜索综合问题
  20. Git ssh 下载设置

热门文章

  1. 树莓派实现人脸识别需要做的那些事
  2. 6.2 sql安全性
  3. Android5.1.1源码 - zygote fork出的子进程如何权限降级
  4. 生成验证码点击可刷新
  5. java获取pdf文件的总页数
  6. 懂点 Nginx 如何实现反向代理与负载均衡,是面试加分项
  7. Machine Learning Algorithm
  8. 电路设计中电阻电容电感的选择原则
  9. 2014年秋广州华师在线计算机的作业答案,18秋华师《C语言程序设计B》在线作业-4辅导资料...
  10. Jboss解决只能通过localhost访问而不能使用IP访问项目的问题