Вы находитесь на странице: 1из 3

ЗАДАНИЕ 8.

СУММА ФУНКЦИОНАЛЬНОГО РЯДА


Разработайте алгоритм и составьте программу вычисления функции
y  f (x) , представляемой суммой бесконечного функционального ряда
S  u0  u1  u2  ...  un 1  un  ...
с некоторой точностью   0 .
Для вычисления членов ряда получите и используйте рекуррентные
соотношения вида un  kn un 1 , связывающие последовательные элементы
ряда для вашей задачи. Считайте, что требуемая точность достигнута, если
очередное слагаемое по модулю будет меньше  . Обеспечьте возможность
ввода любого желаемого значения   0 (рекомендуемое значение порядка
0,001).
Задача 8. Вычислите сумму бесконечного ряда с точностью  по
sin x x2 x4 x6 (1) n x 2n
формуле 1    ...   ..., x   .
x 3! 5! 7! (2n  1)!
Для достижения заданной точности требуется суммировать члены ряда
до тех пор, пока абсолютная величина очередного члена не станет меньше
или равна  . Заметим, что n-й член ряда вычисляется после (n – 1)-го,
поэтому программа получится более простой и эффективной, если находить
очередной член ряда из предыдущего домножением на некоторую величину.
Найдем эту величину. Запишем в общем виде рекуррентную формулу для
вычисления n-го члена ряда:
Cn  Cn 1  q , где q – множитель. Получим формулу для вычисления
множителя:
(1) n x 2n (1) n x 2n
Cn (2n  1)! (2n  1)! (1) n x 2n (2n  1)!
q     ,
Cn 1 (1) n 1 x 2( n 1) (1) n 1 x 2 n  2 (2n  1)! (1) n 1 x 2 n  2
(2(n  1)  1)! (2n  1)!
C (1) x 2
q n  .
Cn1 (2n)(2n  1)
До выполнения программы предсказать, сколько членов ряда
потребуется просуммировать, невозможно. В цикле такого рода есть
опасность, что он никогда не завершиться – как из-за возможных ошибок в
вычислениях, так и из-за ограниченной области сходимости ряда. Поэтому
для надежности программы нужно предусмотреть аварийный выход из цикла
с печатью предупреждающего сообщения по достижении некоторого
максимально допустимого количества итераций. В качестве признака
сходимости ряда будем использовать булеву переменную flag. В случае, если
ряд расходится, значение этой переменной обнулится. Напомним, что для
расходящегося ряда значение суммы его элементов не может быть
подсчитано, а, следовательно, результат не должен быть выведен.
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <clocale>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])


{
const int MaxIter = 500; // максимально количество итерации
double x, eps;
setlocale(LC_ALL, ".1251");
cout << "\nвведите аргумент и точность: ";
cin >> x >> eps;
bool flag = true; // признак достижения точности
double cn = 1; // первый член ряда
double s = cn; // начальное значение суммы
int n; // номер члена ряда
for (n = 1; abs(cn) > eps; n++){
cn = -cn * x * x / (2 * n + 1) / (2 * n); // очередной член ряда
s += cn; // изменение суммы
if ( n > MaxIter ){
cout << "\nРяд расходится\n";
flag = false;
break;
}
}
if ( flag) {
cout << "\ny( "<< x <<" ) = "<< s <<"\n";
cout << "\nТочное значение: "<< sin(x)/x <<"\n";
cout << "\nКоличество слагаемых: "<< n <<"\n";
}
_gettch();
return 0;
}
Индивидуальные задания
x3 x5 x7 x 2 n 1
1). S  sin x  x     ...  ( 1) n   ... ( x 2  ) ;
3! 5! 7! (2 n  1)!
x2 x4 x6 n x
2n
2). S  cos x  1     ...  ( 1)   ... ( x 2  ) ;
2 ! 4 ! 6! (2 n)!
x x2 x3 xn
3). S  e x  1     ...   ... ( x 2  ) ;
1! 2! 3! n!
x x x2 x3 n x
n
4). S  e  1    ...  ( 1)   ... ( x 2  ) ;
1! 2! 3! n!
x2 x3 x4 x n 1
5). S  ln (1  x )  x     ...  ( 1)n   ... ( 1  x  1) ;
2 3 4 n 1
1 x   x3 x5 x7 x 2n 1 
6). S  ln    2 x     ...   ... ( x 2  1) ;
1 x   3 5 7 2n 1 
2 n 1
x3 x5 x7 n x
7). S  arctg x  x     ...  ( 1)   ... ( x 2  1) ;
3 5 7 2n 1
 1 1 1 1 ( 1) n 
8). S  arctg x     3  5  7  ...   ...
 ( x  1) ;
2  x 3x 5x 7x (2 n  1) x 2 n 1 
 1 1 1 1 ( 1) n 
9). S  arctg x      3  5  7  ...   ... ( x  1) ;

2  x 3x 5x 7x (2 n  1) x 2 n 1 
e x  e x x3 x5 x7 x 2 n 1
10). S  sh x   x    ...   ... ( x 2  ) ;
2 3! 5! 7! (2 n  1)!
e x  e x x2 x4 x6 x2 n
11). S  ch x   1    ...   ... ( x 2  ) ;
2 2 ! 4 ! 6! (2 n)!
x2 x3 7 x4 5 x 5
* 12). S  e arctg x
 1 x      ... ( x 2  ) .
2! 3! 4! 5!
Для ряда (12) член суммы с x n равен an x n / n! , где an  an 1  (n  1) (n  2) an  2 .
x 1  1 1 1 
13). S  ln  2  2  5  ..., x  1;
x  1  x 3x 5 x 
4 6 8
x x x
14). S  e  x  1  x 2     ..., x   ;
2

2! 3! 4!
 x3 x5
15). S  arcctg x   x    ..., x  1;
2 3 5
3 5
x x x7
16). S  Arth x  x     ..., x  1;
3 5 7

Вам также может понравиться