randi

Массив случайных целых чисел

Синтаксис

R = randi(valrange,sz,arraytype)
R = randi(valrange,sz,datatype,arraytype)

R = randi(valrange,sz,'like',P)
R = randi(valrange,sz,datatype,'like',P)

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

Описание

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

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

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

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

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

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

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

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

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

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

Примеры

Создайте распределенную матрицу Рэнди

Создайте распределенный массив 1000 на 1000 randi значения от 1 до 100, с базовым классом дважды:

D = randi(100,1000,'distributed');

Создайте матрицу Кодистрибутеда Рэнди

Создайте codistributed 1000 на 1000 двойная матрица randi значения от 0 до 12, распределенный его вторым измерением (столбцы).

spmd(4)
    C = randi([0 12],1000,'codistributed');
end

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

Создайте codistributed single 1000 на 1000 матрица randi значения от 1 до 4, распределенный его столбцами.

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

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

Создайте gpuArray Рэнди Мэтрикса

Создайте gpuArray 1000 на 1000 randi значения от — от 50 до 50, с базовым классом double:

G = randi([-50 50],1000,'double','gpuArray');

Введенный в R2014a