Przestrzenie nazw
Warianty
Działania

sin

Z cppreference.com
< cpp‎ | numeric‎ | math

Składnia:

#include <cmath>double sin(double arg );

Funkcja sin() zwraca wartość sinusa z arg, gdzie arg jest podany w radianach. Zwracana wartość należy do przedziału [-1,1]. Jeśli arg jest nieskończonością, to sin() zwróci NAN i wywoła wyjątek floating-point exception.

C++ dostarcza przeciążone wersje funkcji:

#include <cmath>float sin(float arg );// to samo co sinf() w C99longdouble sin(longdouble arg );// to samo co sinl() w C99

Jedna z mozliwości przybliżenia wartości sinusa szeregiem Taylora wykorzystuje fakt, że sin(x) = x - x3/3! + x5/5! - x7/7! + ... Zatem otrzymujemy poniższy kod:

long factrl(int n){long la =1;for(int i =2; i <= n; i++) la *= i;return la;}   float sin2(float x){int i;float y=x ,r=x;for(int i=0; i <10; i++){ y *=-x*x; r +=1.0/ factrl(1+2*(i+1))* y;}return r;}   float sin(float theta){float znak =1, x = theta/M_PI;if(x <0.0){ znak =-1; x =-x;}int i =static_cast<int>(x+0.5);float a = x-i;if((i-i/2*2)!=0) znak =-znak;return znak * sin2(a*M_PI);}

Powiązane tematy: acos, asin, atan, atan2, cos, cosh, sinh, tan, tanh

close