codistributed.sprandn
创建正态分布的伪随机值的共存分布式稀疏数组
语法
CS = codistributed.sprandn(m,n,density)
CS = sprandn(n,codist)
CS = distributed.sprandn(___,typename)
说明
CS = codistributed.sprandn(m,n,density) 创建一个 m×n 稀疏共存分布式数组,其中大约有 density*m*n 个正态分布的非零双重条目。
codistributed.sprandn 的可选参量必须在必需参量之后指定,并按照以下顺序指定:
codist- 指定结果数组的分布方案的协同分布器对象。如果省略,则使用默认分布方案分布数组。有关构造 codistributor 对象的信息,请参阅codistributor1d和codistributor2dbc的参考页。'noCommunication'- 指定在构造数组时不执行任何工作单元间的通信,从而跳过一些错误检查步骤。
CS = sprandn(n,codist) 与 CS = codistributed.sprandn(n, codist) 相同。您还可以使用此语法的可选参量。要使用默认分布方案,请指定一个不带参量的 codistributor 构造函数。例如:
spmd CS = codistributed.sprandn(8,8,0.2,codistributor1d); end
CS = distributed.sprandn(___,typename) 还指定了之前任何语法中的数据类型(类)。typename 输入可以是 "single" 或 "double"。 (自 R2025a 起)
示例
使用四个工作单元,创建一个 1000×1000 的稀疏共存分布式双精度数组 CS,其中包含大约 1000 个非零元素。CS 通过其第二个维度(列)进行分布。
spmd(4) CS = codistributed.sprandn(1000,1000,0.001); end
创建一个 10×10 的共存分布式双精度数组 CS,其中包含大约 10 个非零元素。CS 按列分布,每个工作单元包含一个 10×spmdIndex 的本地片段 CS。
spmd(4) codist = codistributor1d(2,1:spmdSize); CS = sprandn(10,10,0.1,codist); end
创建一个随机生成的 500×1000 稀疏共存分布式单精度矩阵,密度为 0.1。
spmd(5) DS = distributed.sprandn(500,1000,0.1,"single"); end
提示
当您在并行池中的工作单元上、在独立或通信作业中使用 sprandn 时,每个工作单元都会将其随机生成器种子设置为仅取决于 spmdIndex 或任务 ID 的值。因此,每个工作单元上的数组对于该作业来说都是唯一的。然而,如果您重复这项作业,您会得到相同的随机数据。
版本历史记录
在 R2009b 中推出另请参阅
sprandn | rand | randn | sparse | codistributed.speye | codistributed.sprand | distributed.sprandn