codistributed.sprand

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

Синтаксис

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

Описание

CS = codistributed.sprand(m,n,density) создает m- n разреженный codistributed массив приблизительно с 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

создает разреженный codistributed двойной массив 1000 на 1000 CS приблизительно с 1 000 ненулей. CS распределяется его вторым измерением (столбцы), и каждый рабочий содержит 1000 250 локальную часть CS.

spmd(4)
    codist = codistributor1d(2,1:numlabs);
    CS = sprand(10,10,0.1,codist);
end

создает 10 10 codistributed двойной массив CS приблизительно с 10 ненулями. CS распределяется его столбцами, и каждый рабочий содержит 10 labindex локальная часть CS.

Советы

Когда вы используете sprand на рабочих в параллельном пуле, или в независимом или связывающемся задании (включая pmode), каждый рабочий устанавливает его случайный seed генератора на значение, которое зависит только от labindex или ID задачи. Поэтому массив на каждом рабочем уникален для того задания. Однако, если вы повторяете задание, вы получаете те же случайные данные.

Смотрите также

| |

Представленный в R2009b