Main Content

eye

创建具有定点属性的单位矩阵

说明

I = eye('like',p) 返回与原型参量 p 具有相同定点属性和复/实性(实数或复数)的标量 1。输出 I 包含与 p 相同的 numerictypefimath 属性。

示例

I = eye(n,'like',p) 返回一个主对角线元素为 1 且其他位置元素为 0 的 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);

用与 p 相同的定点属性创建一个 3×4 单位矩阵。

I = eye(3,4,'like',p)
I = 
     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');

创建一个与 p 具有相同 numerictype 属性的 2×2 单位矩阵。

X = eye(2,'like',p)
X = 
   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 对象 Xp 具有相同的 numerictypefimath 属性。

输入参数

全部折叠

I 的第一个维度的大小,指定为整数值。

  • 如果 n 是唯一的整数输入参量,则 I 是一个 n×n 单位方阵。

  • 如果 n0,则 I 为空矩阵。

  • 如果 n 为负,则它被视为 0

数据类型single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

I 的第二个维度的大小,指定为整数值。

  • 如果 m0,则 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 的数值类型,则无论关联的 fimath 的指定 OverflowAction 属性如何,输出都会进行饱和处理。对输出执行的所有后续操作都遵守关联的 fimath 的规则。

数据类型fi | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

提示

通过使用 b = cast(a,'like',p) 语法指定独立于算法代码的数据类型,您可以:

  • 重用具有不同数据类型的算法代码。

  • 使用数据类型设定和针对不同数据类型的 switch 语句来保持算法的简洁性。

  • 提高算法代码的可读性。

  • 在定点和浮点数据类型之间切换以比较基线。

  • 在不更改算法代码的情况下,在不同定点设置之间切换。

版本历史记录

在 R2015a 中推出