充分

转换稀疏矩阵,以满仓

句法

描述

一个=满(小号转换稀疏矩阵小号完整的存储结构,使得issparse(A)返回逻辑0)。

例子

全部收缩

更改矩阵的存储格式,并比较存储要求。

创建一个随机稀疏矩阵。在MATLAB®稀疏矩阵的显示省略全零和节目的位置和非零元素的值。

RNG默认%,持续重现S = sprand(8,8,0.3)
S =(2,1)0.0344(7,1)0.4456(8,1)0.7547(2,2)0.4387(4,3)0.7655(7,3)0.6463(8,4)0.2760(1,6)0.9502(5,6)0.1869(8,6)0.6797(3,7)0.3816(4,7)0.7952(8,7)0.6551(6,8)0.4898(7,8)0.7094

矩阵转换为满仓。矩阵的MATLAB显示反映了新的存储格式。

A =全(S)
A =8×8的0 0 0 0 0 0.9502 0 0 0.0344 0.4387 0 0 0 0 0 0 0 0 0 0 0 0 0.3816 0 0 0 0.7655 0 0 0 0.7952 0 0 0 0 0 0 0.1869 0 0 0 0 0 0 0 0 0 0.4898 0.4456 00.6463 0 0 0 0 0.7094 0.7547 0 0 0.2760 0 0.6797 0.6551 0

比较这两种格式的存储需求:

  • 一个使用存储用于64个双打(8字节每个),或 64 8 = 512 字节。

  • 小号用途储存15种非零元素,以及24点的整数描述他们的位置,总共 39 8 = 312 字节。

谁是
名称大小字节类属性的8×8 512双S 8×8 312双疏

输入参数

全部收缩

稀疏矩阵转换,指定为矩阵。如果小号已经是一个完整的矩阵,那么一个是相同的小号

提示

  • 如果X是一个-通过-ñ矩阵新西兰非零元素,然后全(X)需要空间来存储m * n个元素。另一方面,稀疏(X)需要空间来存储新西兰元素和(NZ + N + 1)整数。

    矩阵的密度(NNZ(X)/ numel(X))确定它是否是更有效的存储矩阵作为稀疏或满。确切的交叉点取决于矩阵类,以及平台。例如,在32位的MATLAB®,与低于约2/3密度双稀疏矩阵需要比全存储相同的基质较少的空间。在64位的MATLAB,然而,双矩阵具有比它们的元素是非零更有效地存储为稀疏矩阵的一半少。

扩展功能

C / C ++代码生成
生成使用MATLAB®编码器™C和C ++代码。

也可以看看

|

R2006a前推出