Идентификационная матрица
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, с единицами на главной диагонали и нулями в другом месте.
Размер и тип массива определяются параметрами аргументов в соответствии со следующей таблицей.
| Аргумент | Ценности | Описания |
|---|---|---|
sz | n | Задает размер массива как nоколо-n матрица. |
m,n | Задает размер массива как mоколо-n матрица. | |
[m n] | ||
arraytype | 'distributed' | Указывает распределенный массив. |
'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)datatype является 'double'). Объект-распространитель, codistзадает схему распределения для создания распределенного по кодам массива. Сведения о построении объектов coddistributor см. на страницах ссылок для codistributor1d и codistributor2dbc. Для использования схемы распределения по умолчанию можно указать конструктор coddistributor без аргументов. Например:
spmd
C = eye(8,codistributor1d());
endC = eye(sz,___,codist,'noCommunication') указывает на то, что при построении распределенного по кодам массива обмен данными между сотрудниками не должен выполняться, и пропускает некоторые шаги проверки ошибок.
C = eye(sz,___,codist,'like',P) создает кодораспределенную единичную матрицу с указанным размером, базовым классом (datatype) и схема распределения. Если либо datatype или аргумент coddistributor опущен, характеристика получена из массива coddistributed P.
Создайте распределенную матрицу идентификаторов 1000 на 1000 для базового класса double:
D = eye(1000,'distributed');
Создайте матрицу двойной идентичности 1000 на 1000, распределенную по ее второму измерению (столбцам).
spmd(4) C = eye(1000,'codistributed'); end
С четырьмя работниками, каждый работник содержит 1000 на 250 местный кусок C.
Создание распределенного кода 1000 на 1000 uint16 единичная матрица, распределенная по столбцам.
spmd(4) codist = codistributor('1d',2,100*[1:numlabs]); C = eye(1000,1000,'uint16',codist); end
Каждый работник содержит 100-по-labindex локальная часть C.
Создание матрицы идентификаторов 1000 на 1000 gpuArray базового класса uint32:
G = eye(1000,'uint32','gpuArray');
codistributed.speye | distributed.speye | eye | false | Inf | NaN | ones | true | zeros