MATLAB如何使用sprandn函数生成正态分布的随机稀疏矩阵

2020年12月21日00:07:41MATLAB如何使用sprandn函数生成正态分布的随机稀疏矩阵已关闭评论

MATLAB如何使用sprandn函数生成正态分布的随机稀疏矩阵

【语法说明】

R=sprandn(S):函数返回一个正态分布的随机稀疏矩阵R,其非零元素的位置与稀疏矩阵S相同。

R=sprandn(m,n,density):生成一个m×n的正态分布的随机矩阵,其中非零元素的位置是随机的,数量约为m*n*density。

R=sprandn(m,n,density,rc):生成一个m×n的正态分布的随机矩阵,非零元素的数量约为m*n*density,近似的条件数为1/rc。

【功能介绍】生成正态分布的随机稀疏矩阵,这里的正态分布指标准正态分布,对于均值为μ、方差为σ 的正态分布,可以使用x×σ+μ的形式生成,其中x是服从标准正态分布的随机数。

【实例】生成均值为1,方差为4的正态分布稀疏矩阵,位置任意,元素个数约为250个。

>> rng(2)

>> a=sprandn(100,100,.025); % 生成 250个左右非零元素的随机稀疏矩阵

>> b=sparse(nonzeros(a)*2+1); % 将标准正态分布转为参数为(1,4)的正态分布

>> mean(nonzeros(b))   % 样本均值

ans =

0.9331

>> var(nonzeros(b))   % 样本方差

ans =

3.7550

【实例讲解】稀疏矩阵b中非零元素的均值为0.9331,方差为3.755,与预期基本一致。nonzeros 函数用于提取稀疏矩阵的非零元素。

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