eye

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

Описание

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

пример

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

пример

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

I = eye(sz,'like',p) возвращает массив как p, где вектор размера, 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- 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