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