глаз

Единичная матрица

Синтаксис

E = eye(sz,arraytype)
E = eye(sz,datatype,arraytype)

E = eye(sz,'like',P)
E = eye(sz,datatype,'like',P)

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

Описание

E = eye(sz,arraytype) создает единичную матрицу arraytype с базовым классом двойных, с единицами на основной диагонали и нулях в другом месте.

E = eye(sz,datatype,arraytype) создает единичную матрицу arraytype с базовым классом datatype, с единицами на основной диагонали и нулях в другом месте.

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

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

E = eye(sz,'like',P) создает единичную матрицу того же типа и базового класса (тип данных) как массив P.

E = eye(sz,datatype,'like',P) создает единичную матрицу заданного базового класса (datatype) и тот же тип как массив P.

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

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

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

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

Примеры

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

Создайте распределенную единичную матрицу 1000 на 1000 базового класса дважды:

D = eye(1000,'distributed');

Создайте единичную матрицу Codistributed

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

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

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

Создайте codistributed единичную матрицу uint16 1000 на 1000, распределенную ее столбцами.

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

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

Создайте gpuArray Единичную матрицу

Создайте gpuArray единичную матрицу 1000 на 1000 базового класса uint32:

G = eye(1000,'uint32','gpuArray');

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

| | | | | | | |

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