MATLAB如何使用nzmax函数计算矩阵非零元素所占空间

2020年12月18日11:13:56MATLAB如何使用nzmax函数计算矩阵非零元素所占空间已关闭评论

MATLAB如何使用nzmax函数计算矩阵非零元素所占空间

【语法说明】

n=nzmax(S):n 返回系统为矩阵中的非零元素分配的内存空间大小,如果S是稀疏矩阵,则返回非零元素所占内存大小;如果S是满矩阵,则返回nzmax(S)=prod(size(S)),即满矩阵中每个元素都占内存。

【功能介绍】计算系统为稀疏矩阵分配的内存单元大小。

【实例】将满矩阵转化为稀疏矩阵,并分别计算所占的内存空间大小。

>> a=[0,0,0,1,0;2,0,3,0,4;0,0,2,0,0] % 定义满矩阵a

a =

0 0 0 1 0

2 0 3 0 4

0 0 2 0 0

>> nzmax(a)    % a所占的内存空间

ans =

15

>> b=sparse(a)   % 将a转为稀疏矩阵b

b =

(2,1)  2

(2,3)  3

(3,3)  2

(1,4)  1

(2,5)  4

>> nzmax(b)    % 稀疏矩阵b所占的内存空间

ans =

5

【实例讲解】本例中,满矩阵转为稀疏矩阵后,存储空间变为原来的 1/3。将零元素多的满矩阵转化为稀疏矩阵,可以节约内存空间。

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。