exponenta event banner

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];

Вычислить синус X*pi с использованием обычного sin функция.

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

         0    1.0000    0.0000   -1.0000   -0.0000

Результаты содержат небольшие числовые ошибки из-за того, что pi - аппроксимация с плавающей запятой истинного значения δ. Например, Y(3) не совсем равно нулю, даже если sin (δ) = 0.

Y(3)
ans = 1.2246e-16

Использовать sinpi для вычисления одинаковых значений. В этом случае результаты являются точными.

Z = sinpi(X)
Z = 1×5

     0     1     0    -1     0

Z(3)
ans = 0

Входные аргументы

свернуть все

Входной массив, заданный как скаляр, вектор, матрица или многомерный массив.

Типы данных: single | double
Поддержка комплексного номера: Да

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

См. также

| |

Представлен в R2018b