Main Content

sinpi

准确地计算 sin(X*pi)

说明

示例

Y = sinpi(X) 计算 sin(X*pi) 而不显式计算 X*pi。此计算比 sin(X*pi) 更准确,因为 pi 的浮点值是 π 的近似值。尤其是:

  • 对于整数,sinpi(n) 精确为零。

  • 对于奇数,sinpi(n/2) 为 +1 或 -1。

示例

全部折叠

比较 sinpi(X)sin(X*pi) 的精确度。

创建一个由值组成的向量。

X = [0 1/2 1 3/2 2];

使用常规 sin 函数计算 X*pi 的正弦值。

Y = sin(X*pi)
Y = 1×5

         0    1.0000    0.0000   -1.0000   -0.0000

由于 piπ 的实际值的浮点近似值,因此结果包含小的数值误差。例如,即使 sin(π)=0Y(3) 也不会正好为零。

Y(3)
ans = 1.2246e-16

使用 sinpi 计算相同的值。在这种情况下,结果真正为零。

Z = sinpi(X)
Z = 1×5

     0     1     0    -1     0

Z(3)
ans = 0

输入参数

全部折叠

输入数组,指定为标量、向量、矩阵、多维数组、表或时间表。

数据类型: single | double | table | timetable
复数支持:

扩展功能

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

基于线程的环境
使用 MATLAB® backgroundPool 在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool 加快代码运行速度。

版本历史记录

在 R2018b 中推出

全部展开

另请参阅

| |