Main Content

sin

定点值的正弦

说明

示例

y = sin(theta) 使用查找表算法返回 fi 输入 theta 的正弦值。

示例

全部折叠

theta = fi([-pi/2,-pi/3,-pi/4,0,pi/4,pi/3,pi/2]);
y = sin(theta)
y = 
   -1.0000   -0.8661   -0.7072         0    0.7070    0.8659    0.9999

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

输入参数

全部折叠

以弧度为单位的输入角度,指定为实数值 fi 对象。theta 可以是有符号或无符号标量、向量、矩阵或多维数组,包含以弧度为单位的定点角度值。theta 的有效数据类型包括:

  • fi 单精度

  • fi 双精度

  • 具有二进制小数点定标的 fi 定点

  • 具有二进制小数点定标的 fi 定标双精度

数据类型: fi

输出参数

全部折叠

输入角的正弦值,以标量、向量、矩阵或多维数组形式返回。y 是范围 [-1,1] 中的有符号定点数。

如果 thetaDataTypeMode 属性是 Fixed-point: binary point scaling,则 y 以有符号定点数据类型的值返回,具有二进制小数点定标、16 位字长和 15 位小数长度 (numerictype(1,16,15))。如果 thetafi 单精度、fi 双精度或具有二进制小数点定标的 fi 定标双精度类型,则返回的 y 的数据类型与 theta 相同。

详细信息

全部折叠

正弦

角度 Θ 的正弦定义为

sin(θ)=eiθeiθ2i

算法

全部折叠

sin 函数使用 8 位查找表计算定点输入的正弦值,如下所示:

  1. 对 2π 取模,使输入在 [0,2π) 的弧度范围内。

  2. 使用 16 个最高有效位,将输入转换为一个 16 位存储整数值。

  3. 基于该 16 位存储整数值按整个 uint16 范围归一化后计算表索引。

  4. 使用 8 个最高有效位从表中查得第一个值。

  5. 使用表中与之相邻的下一个更大的值作为第二个值。

  6. 运用最近邻线性插值的方法,使用 8 个最低有效位在第一个和第二个值之间进行插值。

fimath 传播规则

sin 函数忽略并丢弃关联到输入 theta 的任何 fimath。输出 y 始终与默认 fimath 相关联。

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2012a 中推出

另请参阅

| | | | |