Практическое задание N 1. 15


 

Определить число членов ряда, необходимых для расчета с заданной погрешностью суммы членов ряда:

N Вид ряда Общий член ряда Сумма N=

1 1- 1 / 22 + 1 / 32 - 1 / 42 + . . . (-1)(N-1) / N2 Pi2 / 12 1, 2, 3, . . .

2 1- 1 / 3 + 1 / 5 - 1 / 7 + . . . (-1)N / (2*N+1) Pi / 4 0, 1, 2, . . .

3 1 / (1*2) + 1 / (2*3) + 1 / (3*4) + . . . 1 / (N*(N+1)) 1 1, 2, 3, . . .

4 1 / (1*3) + 1 / (3*5) + 1 / (5*7) + . . . 1 / ((2*N-1)*(2*N+1)) 1 / 2 1, 2, 3, . . .

5 1- 1 / 1! + 1 / 2! - 1 / 3! + . . . (-1)N / N! 1 / e 0, 1, 2, . . .

6 1+ 1 / 1! + 1 / 2! + 1 / 3! + . . . 1 / N! e 0, 1, 2, . . .

 

 

Если члены ряда являются функциями аргумента "x", то ряд называется функциональным. Расчет многих функций производится разложением функции в степенной ряд.Приведем пример расчета значения функции y=sin(x) при некотором значении "х" с использованием представления функции в виде ряда:

 

y1 = x - x3/3! + ... + (-1)(N+1) * x(2*N+1)/(2*N+1)! + ...

где a0= x, aN= k * aN-1, k= (-x2)/(2*N*(2*N+1)), N= 0, 1, 2, ...

 

Kаждый член ряда аN при N>0 можно получить умножением предыдущего члена ряда aN-1 на коэффициент k. Приближенное значение функции y=sin(x) находится как частичная сумма "N" членов ряда. Погрешность вычисления значения функции "у" при некотором значении "х" зависит от количества членов ряда и значения "х", поэтому расчет заканчивается при |aN| < eps, где eps - допустимая погрешность расчетов. В программе используем цикл с условием, например:

 

PROGRAM SIN_R;

Var y, y1, x, eps, a, k: real; n: Word;

Begin

Writeln('Вычисление y=sin(x) с использованием ряда !');

Write('Введите значение аргумента x='); readln(x);

Write('Введите значение погрешности еps='); readln(eps);

Writeln; y:= sin(x);

n:= 0; a:= x;{ a - первый член ряда }

y1:= a; { y1 - первая частичная сумма ряда }

While abs(a) > eps do begin

n:= n+1; k:= -x*x/(2*n*(2*n+1)); a:= a*k; y1:= y1+a;

Writeln('Приближенное значение функции y1=', y1:-11:8, ' при n=', n )

end;

Writeln('Контрольное значение функции y=sin(x)=',y:-11:8);

Writeln('Нажмите Enter'); readln;

End.

 

Применение оператора Repeat. . . в данном примере имеет вид:

 

Repeat "операторы" Until abs(a) < eps;

 

Операторы цикла с условием могут применяться для анализа правильности вводимых данных. Контроль входных данных обязателен для рядов, сходящихся не во всей области "X", например, |X|<1 при разложении функции arctg(x) в степенной ряд. В этом случае можно использовать "защиту от дурака", например:

 

Repeat Write('введите значение |х|<1;_ _x='); readln(x)

until abs(x)<1;

 

 



Дата добавления: 2016-06-29; просмотров: 1827;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.