БЕСПЛАТНОЕ РЕШЕНИЕ ЗАДАЧ

Вычисление синуса по разложению в ряд в С++

Синус можно представить в виде разложения в ряд. Этот ряд называют рядом Маклорена.

$$sin\left(x \right)=x-x^{3}/3!+x^{5}/5!-x^{7}/7!+...$$
Здесь приведен пример программы, вычисляющей значение синуса по разложению в ряд по приведенной формуле, преобразованной к итерационной форме.
#include 
using namespace std;
//Граница ряда:
const int N=100;
int main(){
//Аргумент функции и "рабочие" переменные:
double x,q,s=0;
//Индексная переменная:
int n;
cout<<"Enter x = ";
cin >> x;
q=x;
//Вычисление синуса:
for(n=1;n <= N;n++){
 s+=q;
 q*=(-1)*x*x/(2*n)/(2*n+1);
}
//Результат:
cout<<"sin(" << x << ") = " << s << endl;
return 0;
}
Для того, чтобы уйти от необходимости вычислять факториалы больших чисел использована итерационная добавка, позволяющая исключить вычисление факториалов.

Оставить комментарий

Вы должны быть авторизованы , чтобы оставить или оценить комментарий.

Онлайн всего: 5
Гостей: 5
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте