Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi_02_01 [2012].doc
Скачиваний:
5
Добавлен:
05.07.2019
Размер:
271.87 Кб
Скачать

Приближенное интегрирование функций

Если функция f(x) непрерывна на отрезке [а, b] и известна ее первообразная F(х), то определенный интеграл от этой функции в пределах от а до b может быть вычислен по формуле Ньютона-Лейбница

, (1)

где F'(х) = f(x).

Однако во многих случаях первообразная функция F(х) не может быть найдена с помощью элементарных средств или является слишком сложной; вследствие этого вычисление определенного интеграла по формуле (1) может быть затруднительным или даже практически невыполнимым. Кроме того, на практике подынтегральная функция f(x) часто задается таблично и тогда само понятие первообразной теряет смысл. Во всех этих случаях используют приближенные и в первую очередь численные методы вычисления определенных интегралов.

Задача численного интегрирования функции заключается в вычислении значения определенного интеграла на основании ряда значений подынтегральной функции. В работе рассматриваются три правила численного вычисления однократных интегралов: правило трапеций, правило Симпсона и правило трех восьмых.

Обычный прием механической квадратуры (так называется численное вычисление однократного интеграла) состоит в том, что данную функцию f(x) на рассматриваемом отрезке [а, b] заменяют интерполирующей или аппроксимирующей функцией (x) простого вида (например, полиномом), а затем приближенно полагают:

(2)

Функция (x) должна быть такова, чтобы интеграл вычислялся непосредственно.

Если заменить функцию f(x) соответствующим интерполяционным полиномом Лагранжа Ln(x) и вывести явно выражения для коэффициентов этого полинома, то получится следующая квадратурная формула

где h = (b–a)/n, yi = f(a+ih) (i=0, 1, …, n) и Hi – постоянные, называемые коэффициентами Котеса.

При n = 1 получаем формулу трапеций

= h/2*(y0+y1).

При n = 2 получаем формулу Симпсона

= h/3*(y0+4y1+y2).

При n = 3 получаем квадратурную формулу Ньютона

= 3h/8*(y0+3y1+3y2+y3).

(правило трех восьмых).

Для вычисления интеграла необходимо разделить промежуток интегрирования [a, b] на n равных частей [x0, x1], [x1, x2], …, [xn-1, xn] и к каждому их них применить полученную формулу.

Пример 5.Пусть n=2m есть четное число и yi = f(xi) (i=0, 1, 2, …, n) – значения функции y=f(x) для равноотстоящих точек a=x0, x1, x2, …, xn=b с шагом h=(b–a)/n=(b–a)/(2m). Применяя формулу Симпсона к каждому удвоенному промежутку [x0, x2], [x2, x4], …, [x2m-2, x2m] длины 2h, будем иметь:

= h/3*(y0+4y1+y2) + h/3*(y2+4y3+y4) + … + h/3*(y2m-2+4y2m-1+y2m).

Отсюда получаем общую формулу Симпсона

= h/3*[(y0+y2m) + 4(y1+y3+ … +y2m-1) + 2(y2+y4+ … +y2m-2)].

Введя обозначения

y1+y3+ … +y2m-1,

y2+y4+ … +y2m-2,

Получим общую формулу Симпсона в более простом виде:

= h/3*[(y0+yn) + 4 + 2].

С помощью формулы Симпсона вычислить интеграл

,

приняв n=10.

Решение. Имеем 2m=10. Отсюда

h=(1-0)/10=0,1.

Результаты вычислений приведены в таблице.

i

xi

y2j-1

yj

0

0

y0 = 1,00000

1

0,1

0,90909

2

0,2

0,83333

3

0,3

0,76923

4

0,4

0,71429

5

0,5

0,66667

6

0,6

0,62500

7

0,7

0,58824

8

0,8

0,55556

9

0,9

0,52632

10

1,0

0,50000 = yn

3,45955 ()

2,72818 ()

По общей формуле Симпсона получаем:

I  h/3*(у0n+4+2) = 0,69315. 

Задания

Написать программу, реализующую итерационные вычислительные процессы, с использованием процедурных типов данных:

  1. Нечетные варианты решают задачу приближенного решения алгебраических и трансцендентных уравнений.

  2. Четные варианты решают задачу приближенного интегрирования функций с заданной точностью.

  3. В соответствии с порядковым номером в журнале выбирается набор из трех функций.

Набор 1

  1. x2 = sin(x).

  2. x3 = sin(x).

  3. x = arcsin((x+1)/4).

Набор 2

  1. x3 - 5*x + 1 = 0.

  2. x3 - 9* x2 + 20*x - 1 = 0.

  3. x3 - 3* x2 - 3*x + 10 = 0.

Набор 3

  1. x5 + 5*x + 1 = 0.

  2. sin( x ) + x = 1.

  3. x2 - 10*lg( x ) - 3 = 0

Набор 4

  1. x2 = ln( x+1 ).

  2. ln( x ) = 4 - x2.

  3. lg( x ) = 0.1*x.

Набор 5

  1. f(x) = 1/( x(1/3) + 1 ).

  2. f(x) = ( 4 + x2 )(1/2).

  3. f(x) = 1/sqrt( 1-0.25*sin( x ) ).

Набор 6

  1. f(x) = exp( -x )*cos( pi*x/4 ).

  2. f(x) = tg( x )(1/2).

  3. f(x) = (1 + cos( x2 )(1/2) ).

Набор 7

  1. f(x) = (x2-5) *(10-x).

  2. f(x) = exp(2*x) * sin(2*x2 + 1).

  3. f(x) = arccos(exp(-(3*x)(1/3) ).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]