exponenta event banner

глаз

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

Описание

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