eye

Создайте тождества матрицу с свойствами с фиксированной точкой

Описание

I = eye('like',p) возвращает скаляр 1 с теми же свойствами с фиксированной точкой и сложностью (действительный или комплексный), что и аргумент прототипа, p. Выход, I, содержит то же самое numerictype и fimath свойства как p.

пример

I = eye(n,'like',p) возвращает n-by- n единичная матрица, такая как p, с таковыми на основной диагонали и нулями в другом месте.

пример

I = eye(n,m,'like',p) возвращает n-by- m единичная матрица, такая как p.

I = eye(sz,'like',p) возвращает массив, подобный p, где вектор size, sz, определяет size(I).

Примеры

свернуть все

Создайте прототип fi объект, p.

p = fi([],1,16,14);

Создайте единичную матрицу 3 на 4 с такими же свойствами с фиксированной точкой, как p.

I = eye(3,4,'like',p)
I=3×4 object
     1     0     0     0
     0     1     0     0
     0     0     1     0

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 14

Создание подписанного fi объект с размером слова 16, длиной дроби 15 и OverflowAction установлено на Wrap.

format long
p = fi([],1,16,15,'OverflowAction','Wrap');

Создайте матрицу тождеств 2 на 2 с такими же numerictype свойства как p.

X = eye(2,'like',p)
X=2×2 object
   0.999969482421875                   0
                   0   0.999969482421875

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 15

        RoundingMethod: Nearest
        OverflowAction: Wrap
           ProductMode: FullPrecision
               SumMode: FullPrecision

1 не может быть представлено типом данных p, поэтому значение насыщается. Область выхода fi X объекта имеет то же numerictype и fimath свойства как p.

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

свернуть все

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

  • Если n является единственным целочисленным входным параметром, тогда I является квадратным n-by- n единичная матрица.

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

  • Если n отрицательно, затем это рассматривается как 0.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

  • Если m является 0, затем I - пустая матрица.

  • Если m отрицательно, затем это рассматривается как 0.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Размер I, заданный как вектор-строка не более двух целые числа значений.

  • Если элемент sz является 0, затем I - пустая матрица.

  • Если элемент sz отрицательно, затем элемент обрабатывается как 0.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Прототип, заданный как fi объект или числовая переменная.

Если значение 1 переполняет числовой тип pвыход насыщается независимо от заданного OverflowAction свойство приложенного fimath. Все последующие операции, выполненные на выходе, соответствуют правилам прилагаемой fimath.

Типы данных: fi | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Совет

Использование b = cast(a,'like',p) синтаксис для задания типов данных отдельно от кода алгоритма позволяет:

  • Повторно используйте код алгоритма с различными типами данных.

  • Сохраните алгоритм незакрытым со спецификациями типов данных и операторами switch для различных типов данных.

  • Улучшите читаемость кода алгоритма.

  • Переключитесь между типами данных с фиксированной и плавающей точками, чтобы сравнить базовые линии.

  • Переключаться между изменениями настроек с фиксированной точкой, не меняя код алгоритма.

Введенный в R2015a