exponenta event banner

рэнд

Массив значений rand

Синтаксис

R = rand(sz,arraytype)
R = rand(sz,datatype,arraytype)

R = rand(sz,'like',P)
R = rand(sz,datatype,'like',P)

C = rand(sz,codist)
C = rand(sz,datatype,codist)
C = rand(sz,___,codist,'noCommunication')
C = rand(sz,___,codist,'like',P)

Описание

R = rand(sz,arraytype) создает матрицу с базовым классом double, с rand значения во всех элементах.

R = rand(sz,datatype,arraytype) создает матрицу с базовым классом datatype, с rand значения во всех элементах.

Размер и тип массива определяются параметрами аргументов в соответствии со следующей таблицей.

АргументЦенностиОписания
sznЗадает размер как nоколо-n матрица.
m,n или [m n]Задает размер как mоколо-n матрица.
m,n,...,k или [m n ... k]Задает размер как mоколо-n-by-... -by-k массив.
arraytype'distributed'Указывает распределенный массив.
'codistributed'Задает распределенный массив с использованием схемы распределения по умолчанию.
'gpuArray'Задает gpuArray.
datatype'double' (по умолчанию), 'single'Задает базовый класс массива, т.е. тип данных его элементов.

R = rand(sz,'like',P) создает массив rand значения с тем же типом и базовым классом (тип данных), что и массив P.

R = rand(sz,datatype,'like',P) создает массив rand значения с указанным базовым классом (datatype) и того же типа, что и массив P.

C = rand(sz,codist) или C = rand(sz,datatype,codist) создает совместно распределенный массив rand значения с указанным размером и базовым классом (значение по умолчанию datatype является 'double'). Объект codistributor codist задает схему распределения для создания распределенного по кодам массива. Сведения о построении объектов coddistributor см. на страницах ссылок для codistributor1d и codistributor2dbc. Для использования схемы распределения по умолчанию можно указать конструктор coddistributor без аргументов. Например:

spmd
    C = rand(8,codistributor1d());
end

C = rand(sz,___,codist,'noCommunication') указывает на то, что при построении распределенного по кодам массива обмен данными между сотрудниками не должен выполняться, и пропускает некоторые шаги проверки ошибок.

C = rand(sz,___,codist,'like',P) создает совместно распределенный массив rand значения с указанным размером, базовым классом и схемой распределения. Если аргумент class или codistributor опущен, характеристика получается из распределенного по коду массива P.

Примеры

Создание распределенной матрицы Rand

Создание распределенного массива 1000 на 1000 rands с двойным базовым классом:

D = rand(1000,'distributed');

Создание кодовой распределенной матрицы Rand

Создание двойной матрицы с кодовым распределением 1000 на 1000 rands, распределенные по второму измерению (столбцам).

spmd(4)
    C = rand(1000,'codistributed');
end

С четырьмя работниками, каждый работник содержит 1000 на 250 местный кусок C.

Создание распределенного кода 1000 на 1000 single матрица rands, распределенные по её столбцам.

spmd(4)
    codist = codistributor('1d',2,100*[1:numlabs]);
    C = rand(1000,1000,'single',codist);
end

Каждый работник содержит 100-по-labindex локальная часть C.

Создание матрицы Rand gpuArray

Создайте массив 1000 на 1000 gpuArray из rands с базовым классом double:

G = rand(1000,'double','gpuArray');
Представлен в R2006b