codistributed.sprandn

Создайте кодообразный разреженный массив равномерно распределенных псевдослучайных значений

Синтаксис

CS = codistributed.sprandn(m,n,density)
CS = sprandn(n,codist)

Описание

CS = codistributed.sprandn(m,n,density) создает m-by- n разреженный кодовый массив с приблизительно density*m*n обычно распределенные ненулевые двойные значения.

Необязательные аргументы для codistributed.sprandn необходимо указать после требуемых аргументов и в следующем порядке:

  • codist - объект codistributor, задающий схему распределения полученного массива. Если массив опущен, он распределяется с помощью схемы распределения по умолчанию. Для получения информации о построении объектов codistributor смотрите страницы с описанием для codistributor1d и codistributor2dbc.

  • 'noCommunication' - Указывает, что никакая межсетевая связь не должна выполняться при построении массива, пропуская некоторые шаги проверки ошибок.

CS = sprandn(n,codist) то же, что и CS = codistributed.sprandn(n, codist). Вы также можете использовать дополнительные аргументы с этим синтаксисом. Чтобы использовать схему распределения по умолчанию, задайте конструктор codistributor без аргументов. Для примера:

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-бай-labindex локальная часть CS.

Совет

Когда вы используете sprandn на работниках в параллельном пуле или в независимом или коммуникационном задании каждый работник устанавливает свое начальное начальное значение генератора, которое зависит только от labindex или идентификатор задачи. Поэтому массив на каждом рабочем месте уникален для этого задания. Однако, если вы повторяете задание, вы получаете те же случайные данные.

Введенный в R2009b