randi

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

    Описание

    пример

    X = randi(r,n) создает n- n матрица codistributed равномерно распределенных случайных целых чисел в области значений задана r.

    • Если r скаляр, функция создает случайные целые числа в области значений 1 к r.

    • Если r вектор, функция создает случайные целые числа в области значений r(1) к r(2).

    Когда вы создаете codistributed массив в связывающемся задании или spmd блокируйтесь, функция создает массив на каждом рабочем. Если вы создаете codistributed массив за пределами связывающегося задания или spmd блокируйтесь, массив хранится только на рабочем или клиенте, который создает codistributed массив.

    По умолчанию codistributed массив имеет базовый тип double.

    X = randi(r,sz1,...,szN) создает sz1-...-by-szN массив codistributed равномерно распределенных случайных целых чисел 1 к imax. sz1,...,szN указывает на размер каждой размерности.

    X = randi(r,sz) создает codistributed массив равномерно распределенных случайных целых чисел где вектор размера sz задает размер X. Например, randi(codistributed(5),codistributed([2 3])) создает 2 3 codistributed массив случайных целых чисел между 1 и 5.

    X = randi(___,datatype) создает codistributed массив равномерно распределенных случайных целых чисел с базовым типом datatype. Например, randi(codistributed(5),"int8") создает codistributed 8-битное случайное целое число между 1 и 5. Можно использовать этот синтаксис с любым из входных параметров в предыдущих синтаксисах.

    X = randi(___,codist) использует codistributor объект codist создать codistributed массив равномерно распределенных случайных целых чисел.

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

    X = randi(___,codist,"noCommunication") создает codistributed массив равномерно распределенных случайных целых чисел, не используя связь между рабочими. Можно задать codist или codist,"noCommunication", но не то и другое одновременно.

    Когда вы создаете очень большие массивы или ваше задание передачи или spmd блок использует многих рабочих, коммуникация рабочего-рабочего может замедлить создание массивов. Используйте этот синтаксис, чтобы улучшать производительность вашего кода путем удаления времени, требуемого для коммуникации рабочего-рабочего.

    Совет

    Когда вы используете этот синтаксис, некоторые шаги проверки ошибок пропущены. Используйте этот синтаксис, чтобы улучшать производительность вашего кода после того, как вы будете моделировать свой код, не задавая "noCommunication".

    X = randi(___,"like",p) использует массив p создать codistributed массив равномерно распределенных случайных целых чисел. Можно задать datatype или "like", но не то и другое одновременно.

    Возвращенный массив X имеет тот же базовый тип, разреженность и сложность (действительный или комплексный) как p.

    Примеры

    свернуть все

    Создайте 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.

    Входные параметры

    свернуть все

    Область значений выходных значений в виде codistributed целочисленный скаляр или вектор.

    • Если r скаляр, функция создает случайные целые числа в области значений 1 к r.

    • Если r вектор, функция создает случайные целые числа в области значений r(1) к r(2).

    Размер квадратной матрицы в виде codistributed целое число.

    • Если n 0, затем X пустая матрица.

    • Если n отрицательно, затем функция обрабатывает его как 0.

    Размер каждой размерности в виде отдельных аргументов codistributed целочисленные значения.

    • Если размером какой-либо размерности является 0, затем X пустой массив.

    • Если размер какой-либо размерности отрицателен, то функция обрабатывает его как 0.

    • После второго измерения функция игнорирует последующие измерения с размером 1.

    Размер каждой размерности в виде codistributed целочисленный вектор-строка. Каждый элемент этого вектора указывает на размер соответствующей размерности:

    • Если размером какой-либо размерности является 0, затем X пустой массив.

    • Если размер какой-либо размерности отрицателен, то функция обрабатывает его как 0.

    • После второго измерения, randi игнорирует последующие измерения с размером 1. Например, randi(codistributed([3 1 1 1])) дает codistributed вектор 3 на 1 равномерно распределенных случайных целых чисел.

    Пример: sz = codistributed([2 3 4]) создает 2 codistributed массивом 3 на 4.

    Базовый тип данных возвращенного массива в виде одной из этих опций:

    • "double"

    • "single"

    • "logical"

    • "int8"

    • "uint8"

    • "int16"

    • "uint16"

    • "int32"

    • "uint32"

    • "int64"

    • "uint64"

    Codistributor в виде codistributor1d или codistributor2dbc объект. Для получения информации о создании codistributors, смотрите страницы с описанием для codistributor1d и codistributor2dbc. Чтобы использовать схему распределения по умолчанию, можно задать codistributor конструктора без аргументов.

    Прототип создаваемого массива в виде codistributed массив.

    Введенный в R2014a