稀疏矩阵在节省空间和提高计算速度方面的作用
来源:互联网 发布:夏玲电视直播软件 编辑:程序博客网 时间:2024/05/20 16:34
Sparse函数可以用来产生稀疏矩阵。语句S=sparse(i,j,s,m,n)能够利用向量i,j,s来产生mxn的稀疏矩阵S,具体的产生方法为S(i(k),j(k))==s(k)。其中i,j是S中不为0的元素的行索引和列索引。因此只能是正整数。此外,S=sparse(A)可以将矩阵A转化成稀疏矩阵形式S。
以下为代码
i=1:1000;j=randperm(1000); %随机排列1~1000的所有整数s=rand(1,1000); %生成1*1000的服从(0,1)连续均匀分布的向量S=sparse(i,j,s);FS=full(S); %S矩阵的非稀疏格式
空间对比
whos Name Size Bytes Class Attributes FS 1000x1000 8000000 double S 1000x1000 24008 double sparse ans 1x1 8 double i 1x1000 8000 double j 1x1000 8000 double s 1x1000 8000 double
时间对比
>>tic;S2=S*S;toc
时间已过 0.059243 秒。
>> tic;FS2=FS*FS;toc
时间已过 0.655330 秒。
应当在准备好数据后用sparse函数生成稀疏矩阵,而不是先创建一个大型稀疏矩阵然后用S(i,j)来赋值,后者效率很低
对比代码
clear;i=1:1000; %行序号j=randperm(1000); %随机排列的列序号n=rand(1,1000); %对应位置的元素值tic;S1=sparse(i,j,n,1000,1000);toc %用sparse函数生成稀疏矩阵时间tic;S2=spalloc(1000,1000,1000);for k=1:1000 S2(i(k),j(k))=n(k);endtoc %先创建一个大稀疏矩阵S,然后在程序中用S(i,j)的方式给它赋值
时间已过 0.023900 秒。
时间已过 0.090753 秒。
阅读全文
0 0
- 稀疏矩阵在节省空间和提高计算速度方面的作用
- 压缩数据以节省空间和提高速度
- Oracle中压缩数据节省空间和提高速度
- 编程珠玑:第10章 节省空间 10.1 稀疏矩阵表示 ---- 解题总结
- 编写高效的Android代码(提高运行速度,节省电量)
- 编写高效的Android代码(提高运行速度,节省电量)
- 使3D空间中物体朝向和其速度方向一致的旋转矩阵计算方案
- Go语言把IP转为int存储.节省空间提高索引速度
- Hadoop 稀疏矩阵乘法的MapReduce计算
- 选择矩阵(选择矩阵是稀疏的)相关计算
- 提高网站的访问速度、安全、扩展性方面问题
- 在论稀疏矩阵
- 大家是否有办法提高haarObjectDetect的速度?在人脸检测方面,我尝试用肤色检测缩小范围
- myeclipse 的优化配置,迅速提高启动加载速度,节省大量内存
- 稀疏矩阵的表示和运算
- D3D空间变换和矩阵作用
- 大型稀疏矩阵计算的现代方法介绍
- 对称矩阵和稀疏矩阵的压缩和转置
- mysql 数据表的基本操作
- 第3周项目1(1)-顺序表的基本运算
- PHP开发:从基本环境,到正式环境,全过程迁移(MarkDown修订版)
- Arduino环境下开发NodeMCU(ESP8266)
- 测试md写博客
- 稀疏矩阵在节省空间和提高计算速度方面的作用
- iOS调研——Masonry与SDAutoLayout相比较
- Redis常用场景(一)
- Appium+Python:Android自动化测试
- Handler实现原理和流程分析
- postman中 form-data、x-www-form-urlencoded、raw、binary的区别
- BZOJ 2588 LCA + 主席树
- Android 简单的检查app版本更新
- Java泛型深入理解小总结