Создание распределенного разреженного массива равномерно распределенных псевдослучайных значений
CS = codistributed.sprandn(m,n,density)
CS = sprandn(n,codist)
CS = codistributed.sprandn(m,n,density) создает mоколо-n разреженный распределенный массив с приблизительно density*m*n обычно распределенные ненулевые двойные записи.
Необязательные аргументы для codistributed.sprandn должны быть указаны после требуемых аргументов и в следующем порядке:
codist - объект-распространитель, задающий схему распределения результирующего массива. Если этот параметр опущен, массив распределяется с использованием схемы распределения по умолчанию. Сведения о построении объектов coddistributor см. на страницах ссылок для codistributor1d и codistributor2dbc.
'noCommunication' - Указывает, что при построении массива не должно выполняться взаимодействие между сотрудниками, пропуская некоторые шаги проверки ошибок.
CS = sprandn(n,codist) является таким же, как CS = codistributed.sprandn(n, codist). С помощью этого синтаксиса можно также использовать необязательные аргументы. Чтобы использовать схему распределения по умолчанию, укажите конструктор coddistributor без аргументов. Например:
spmd CS = codistributed.sprandn(8,8,0.2,codistributor1d()); end
С четырьмя рабочими,
spmd(4) CS = codistributed.sprandn(1000,1000,0.001); end
создает разреженный распределенный двойной массив 1000 на 1000 CS с приблизительно 1000 ненулей. CS распределяется по своему второму измерению (столбцам), и каждый рабочий содержит локальный фрагмент 1000 на 250 CS.
spmd(4) codist = codistributor1d(2,1:numlabs); CS = sprandn(10,10,0.1,codist); end
создает двойной распределенный массив 10 на 10 CS с приблизительно 10 ненулевыми значениями. CS распределяется по столбцам, и каждый работник содержит 10-by-labindex локальная часть CS.
При использовании sprandn на рабочих в параллельном пуле или в независимом или связном задании каждый работник устанавливает свое случайное начальное число генератора в значение, которое зависит только от labindex или идентификатор задачи. Поэтому массив на каждом работнике уникален для этого задания. Однако при повторении задания получаются те же случайные данные.
codistributed.speye | codistributed.sprand | distributed.sprandn | rand | randn | sparse | sprandn