74243

Алгоритмы вычисления определенных интегралов

Лекция

Информатика, кибернетика и программирование

Основу численных методов вычисления определенных интегралов составляет их геометрический смысл. В этом случае подынтегральную функцию кривую заменяют прямой а формула для вычисления площади прямоугольника известна. приведена схема алгоритма реализующего вычисления по формуле прямоугольников слева.

Русский

2014-12-30

1.27 MB

11 чел.

Лекция 5

Алгоритмы вычисления определенных интегралов.

Основу численных методов вычисления определенных интегралов составляет их геометрический смысл. Определенным интегралом

называют площадь криволинейной трапеции, ограниченную подынтегральной кривой, осью абсцисс и ординатами f(a) и f(b). На рис. 5.1 данная площадь заштрихована.

 

 

При численном интегрировании подынтегральную функцию заменяют более простой, для которой вычисление указанной площади производится в соответствии с достаточно простыми формулами, и искомый интеграл вычисляют приближенно с определенной точностью.

Метод прямоугольников.

Наиболее простым методом численного интегрирования является метод, основанный на применении формулы прямоугольников. В этом случае подынтегральную функцию/кривую заменяют прямой, а формула для вычисления площади прямоугольника известна. Для повышения точности вычислений участок интегрирования [a, b] разбивается на n равных частей. Далее берутся значения подынтегральной функции в левых (или правых) концах полученных участков. При этом подынтегральная функция f(x) на отрезке [a, b] заменяется ступенчатой кривой (см. рис. 5.2), и приближенное значение интеграла определяется суммой площадей прямоугольников

где          

   

Аналогичная формула прямоугольников получится и в том случае, если брать для интегральной суммы значения функции f(x) не в левых, а в правых концах участков разбиения:

В результате расчетов по формулам «слева» и «справа» получается приближенное значение интервала (с недостатком или с избытком), которое может отличаться от действительного на некоторую величину, называемую ошибкой ограничения. Эта ошибка определяется величиной остаточного члена ряда Тейлора:

В качестве примера на рис. 5.3 приведена схема алгоритма, реализующего вычисления по формуле прямоугольников «слева». Увеличение числа участков разбиения n приводит к повышению точности вычисления интеграла. Следует обратить внимание также на формирование условия выхода из цикла на рис. 5.3, добавление половины шага h в условие необходимо для избежания возможного сравнения на равенство двух вещественных значений x и bh.

Определение интеграла по формуле прямоугольников

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

,

где  i=1,2,…,n. Остаточный член формулы средних  где M = max |f "(v)| v[a,b].

Данный метод вычисления определенного интеграла обеспечивает более высокую точность при равном n по сравнению с формулами прямоугольников. Формулу средних рекомендуется использовать для достаточно гладких функций f(x), не содержащих высокочастотных колебаний на отдельных интервалах интегрирования. На рис. 5.4 показана схема алгоритма вычисления интеграла по формуле средних.

Формулы Ньютона-Котеса

Если подынтегральную функцию заменить каким-либо интерполяционным многочленом, то получим квадратурные формулы вида:

где хк – выбранные узлы интерполяции; Ak – коэффициенты, которые зависят от выбранных узлов, но не зависят от вида функции f(x); R – остаточный член, определяющий максимальную ошибку при использовании квадратурной формулы; k=0, 1, …, n.

Разбивая отрезок интегрирования [a, b] на n равных частей системой точек

xk = x0+kh; k=0, 1, …, n;  x0=a;  xn=b

и вычисляя подынтегральную функцию в полученных  узлах

yk=f(xk);  k=0, 1, …, n,

получают квадратурные формулы для равноотстоящих узлов. Эти формулы называют формулами Ньютона-Котеса. Наиболее удобны при численном интегрировании интерполяционные многочлены невысоких порядков, при использовании которых получают достаточно простые составные формулы.

Формула трапеций. 

Формула трапеций получается в случае использования интерполяционного многочлена 1-го порядка:

Остаточный член имеет вид:  Использование формулы трапеций при вычислении определенного интеграла приводит к ошибке  где

Для нахождения приближенного значения определенного интеграла по формуле трапеций можно использовать алгоритм, схема которого представлена на рис. 5.5.

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

Формула парабол (Симпсона)

Используя интерполяционный многочлен 2-го порядка (параболу) получают формулу численного интегрирования – формулу Симпсона:

где  

На рис. 5.6 показана схема алгоритма, реализующего вычисления по формуле парабол. При реализации формулы число узлов обязательно нечетно, т. е. число участков разбиения интервала интегрирования должно быть четным: n=2m. В алгоритме использован прием, при котором число повторений цикла уменьшается в два раза, т. е. дважды реализуется модификация параметра цикла, что уменьшает время выполнения алгоритма. Метод Симпсона считается одним из наиболее применяемых методов численного интегрирования, обеспечивающим достаточно хорошую точность вычислений.

Алгоритм вычисления  суммы бесконечного ряда

Характерным примером итерационных циклов является задача вычисления суммы бесконечного ряда:

где tn(x) – слагаемое, зависящее от параметра x (в общем случае) и номера n. Вычисляемая последовательность

где  – частная сумма.

Для контроля погрешности можно использовать последовательность

где tn(x) = sn(x) – sn-1(x) – слагаемые ряда n.

.

Условие выхода из итерационного цикла (справедливо при знакопеременном ряде {tn(x)}):

| tn ( x ) | < .

Алгоритм вычисления бесконечной суммы является модификацией одного из алгоритмов вычисления конечной суммы. Если применение рекуррентных формул нецелесообразно, то вычисления будут наиболее эффективными, если каждое слагаемое определять по общей формуле и полученные значения накапливать в некоторой переменной. Общий вид схемы алгоритма, реализующего вычисление бесконечной суммы с погрешностью с помощью цикла с предусловием, показан на рис. 5.10, а.

Если для вычисления слагаемых используются рекуррентные соотношения

то общая схема итерационного алгоритма для вычисления бесконечной суммы показана на рис. 5.10, б.

Например, тригонометрическая функция sin(x) может быть представлена в виде бесконечной суммы

В данном случае

тогда

Теперь можно определить

Начальное значение слагаемого находим по формуле

Алгоритмы нахождения корней уравнений.

Решение алгебраических уравнений численными методами состоит из двух этапов:

отделение корней, т. е. отыскание достаточно малых интервалов
(
a, b), в каждом из которых заключен один и только один корень;

вычисление (уточнение) корня с заданной погрешностью.

Рассмотрим более подробно алгоритмы для уточнения корней.

Метод половинного деления

Метод половинного деления является более универсальным, всегда приводит к искомому результату, хотя и требует большого объема вычислений. Для нахождения корня уравнения f(x)=0, принадлежащего отрезку [a, b], делим отрезок пополам z = (a+b)/2 (см. рис. 5.12,а). Далее рассмотрим значения функции y = f(x) в точках x = a  и x = z. Если значения f(a) и f(z) разных знаков, т. е. f(a) f(z) < 0, то исходный отрезок [a, b] уменьшим в два раза путем переноса точки x = b в точку x = z. Новый отрезок [a, b] вновь делим пополам (см. рис. 5.12,б) и так как f(a) f(z) < 0, то переносим точку x = a  в точку x = z, уменьшая [a, b] в два раза. Повторяем указанную процедуру до тех пор, пока длина отрезка, содержащего корень, не станет меньше заданной погрешности ε. Любое значение  является искомым значением корня, однако на практике в качестве корня выбирают середину отрезка, т. е.  x = (a+b)/2.

При организации итерационного цикла вычисляется последовательность отрезков

[a0, b0],  [a1, b1],  …,  [an, bn], … ,

для которой

Для контроля точности вычисления корня можно использовать следующую последовательность значений

поэтому условие выхода из цикла

или условие продолжения цикла

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

      y

                                                                                                             

f(z)

  1.                 a    

                            x*           z                 b          

f(a)      

                              a)

y

                                                                            y=f(x)

 0                 a       x*

f(z)                       z              b                        x

f(a)

                             b)

Метод касательных

Для обеспечения сходимости метода касательных (метода Ньютона) необходимо, чтобы производные f' (x) и f" (x) были определены, непрерывны и сохраняли постоянные знаки на отрезке [a, b]. На рис. 5.14 представлена геометрическая интерпретация метода Ньютона.

Выберем некоторую точку x0 на отрезке [a, b] и проведем касательную к кривой y=f(x) в точке P0(x0, y0). Ее уравнение

y = y0 + f' (x0)(xx0),

где y0 = f(x0).

Новое приближение корня х1, равно абсциссе точки пересечения касательной с осью абсцисс, т. е.

y

y0

y1

y2

Выберем некоторую точку x0 на отрезке [a, b] и проведем касательную к кривой y=f(x) в точке P0(x0, y0). Ее уравнение

y = y0 + f' (x0)(xx0),

где y0 = f(x0).

Новое приближение корня х1, равно абсциссе точки пересечения касательной с осью абсцисс, т. е.

Проведя касательную через точку P1(x1, y1), получим второе приближение корня x2. Вычисление приближений корня по формуле

продолжается до выполнения неравенства

,

где ε – абсолютная погрешность определения корня уравнения.

Начальное приближение х0 выбирают таким образом, чтобы выполнялось условие

В противном случае сходимость метода Ньютона не гарантируется. На практике выбирают x0 = a или x0 = b, в зависимости от того, в какой из этих точек выполняется указанное условие. Схема алгоритма уточнения корня методом Ньютона (методом касательных) приведена на рис. 5.15.

Алгоритмы обработки массивов

Определение минимального элемента в массиве.

Задача нахождения минимума (или максимума) в массиве из N элементов может быть решена последовательным сравнением "текущего" минимального (максимального) значения со значением очередного элемента массива и "запоминанием" при необходимости нового значения. Схема алгоритма показана на рис. 5.18.

 

Рис. 5.18  Алгоритм определения минимального элемента массива

Сортировка массива. 

Допустим, необходимо упорядочить массив из N элементов по возрастанию. Задача решается последовательным сравнением пар соседних элементов массива и при необходимости их перестановкой. Сравнение происходит при  N-1 проходах по всему массиву. Схема алгоритма показана на рис. 5.19.

Рис. 5.19  Алгоритм сортировки массива методом пузырька

Произведение матриц

Пусть необходимо найти произведение двух матриц А и В размером 2х3 и 3х3 соответственно. Элементы результирующей матрицы С (размером 2х3) определяются по формуле

где n – число строк матрицы А;

     m – число столбцов матрицы А и число строк матрицы В;

     p – число столбцов матрицы В.

В общем случае результирующая матрица имеет размер np. Схема алгоритма умножения двух матриц представлена на рис. 5.20.

Рис. 5.20  Алгоритм умножения матриц


Алгоритм обработки строк

Пусть дана строка символов, группы символов в ней между одним или несколькими пробелами считаются словами. Подсчитать, сколько слов содержит строка, и вывести каждое из них на отдельной строке.

При решении задачи следует обратить внимание на следующую важную особенность. Если бы слово от слова отделялось только одним пробелом, то мы могли бы, посчитав количество пробелов, вычислить количество слов. В нашем случае необходимо перед каждым определением слова в строке удалять из нее первые пробелы и выделять слово до следующего пробела. После выделения слово удаляется из строки. Для выделения последнего слова строки, если в конце строки нет пробелов, за слово будет считаться оставшаяся часть строки.

Схема алгоритма решения данной задачи приведена на рис. 5.21. При этом алгоритм удаления пробелов в начале строки оформлен в виде процедуры, а выделения слова – в виде функции.

Рис. 5.21  Алгоритм подсчета количества слов в строке и их вывод

Алгоритм обработка записей

Пусть имеются некоторые данные о заводах города, сведенные в следующую таблицу:

Завод

Основные сведения

Зани-маемая площадь

Объем выпускаемой продукции

Количество обслуживающего персонала

по плану

факти-чески

с высшим образованием

со средним образованием

АЗЛК

ВАЗ

ЗИЛ

ИЖ

800

396

203

544

484,9

348,5

384,3

667,3

484,9

348,7

399,4

701,3

282

130

448

396

204

669

125

157

Всего

Необходимо описать массив записей, содержащий данную информацию, произвести расчет и заполнить итоговую строку, вывести результат.

Для решения задачи следует обеспечить ввод массива записей, эхо-печать введенных данных, накопление суммы по каждому полю записи для формирования итоговой строки таблицы и вывод полученного результата. Общий вид схемы алгоритма представлен на рис. 5.22.

Рис. 5.22  Алгоритм обработки массива записей

PAGE  16


y=f(x)

a

     y

  x

 b

Рис. 5.1  Геометрический смысл

определенного интеграла

0    a=x0     x1        x2      …       b=xn   x

y=f(x)

y1

y2

Обязательные параметры отсутствуют или неверны.Рис. 5.2  Иллюстрация метода прямоугольников

 y

Начало

a, b, n

EMBED Equation.3  

s:=s+f(x)

x:=x+h

x:=a

EMBED Equation.3  

s:=sh

s

Нет

Да

онец

Рис. 5.3  Алгоритм вычисления определенного

интеграла методом прямоугольников

Начало

Ввод a, b, n

EMBED Equation.3  

s:=s+f(x)

x:=x+h

EMBED Equation.3  

EMBED Equation.3  

s:=sh

Вывод s

Конец

Нет

Да

Рис. 5.4  Алгоритм вычисления определенного

интеграла по формуле средних.

Начало

Ввод a, b, n

EMBED Equation.3  

x:=a+h

s:=s+f(x)

x:=x+h

EMBED Equation.3  

s:=sּh

Вывод s

Конец

Нет

Да

Рис. 5.5  Алгоритм вычисления определенного

интеграла по формуле трапеций

Начало

Ввод a, b, n

EMBED Equation.3  

x:=a+h

s:=s+4f(x)

x:=x+h

s:=s+2f(x)

x:=x+h

EMBED Equation.3  

EMBED Equation.3  

Вывод s

Конец

Нет

Да

Рис. 5.6  Алгоритм вычисления определенного

интеграла по формуле Симпсона

Начало

Ввод x, ε

EMBED Equation.3  

|t|>ε

t:=tn(x)

s:=s+t

n:=n+1

Конец

Вывод s

Начало

Ввод x xx, ε

EMBED Equation.3  

|t|>ε

t:=n(x)

s:=s+t

n:=n+1

Вывод s

Конец

Нет

Да

Нет

Да

Рис. 5.10  Схемы алгоритмов итерационных циклов,

реализующих вычисление бесконечной суммы

б)

а)

y=f(x)

Рис. 5.12  Графическая иллюстрация

метода половинного деления

Начало

Ввод a, b, ε

|b-a| ≥ ε

EMBED Equation.3  

f(z)f(a) < 0

a:=z

b:=z

EMBED Equation.3  

Вывод x, f(x)

Конец

Нет

Да

Да

Нет

Рис. 5.13  Схема алгоритма уточнения корня

методом половинного деления

Рис. 5.14 Геометрическая интерпретация

метода касательных

      0                 a                   x*         x2           x1                x0          b   x

y=f(x)

Начало

Ввод a, b, ε

f(a)f"(a) > 0

f(b)f"(b) > 0

x:=a

x:=b

"ошибка"

h:=f(x)/f'(x)

x:=x-h

|h| < ε

Вывод x, f(x)

Конец

Нет

Да

Нет

Да

5.15  Схема алгоритма уточнения корня методом касательных


 

А также другие работы, которые могут Вас заинтересовать

7294. Міжнародно-правове регулювання праці 75.5 KB
  Міжнародно-правове регулювання праці. План 1.Поняття та розвиток міжнародно-правового регулювання праці. 2. Всесвітні (універсальні) міжнародні стандарти праці. 3. Міжнародна організація праці та її нормотворча діяльність. 4. Європейські...
7295. Эмоции и психические состояния личности 113.5 KB
  Эмоции и психические состояния личности Вопросы для обсуждения: Общее понятий об эмоциях и чувствах. Характеристика основных форм переживаний человека. Классификация эмоций и чувств Понятие и значение психологических защит в адаптации че...
7296. Відносини власності. Тенденції розвитку відносин власності в Україні 540.5 KB
  Відносини власності План лекції Власність як економічна категорія. Структура власності, її типи, види і форми. Власність на засоби виробництва. Тенденції розвитку відносин власності в Україні. На самостійне опрацювання...
7297. Психологічні особливості підліткового віку 104 KB
  Психологічні особливості підліткового віку Загальна характеристика ситуації та особливостей розвитку підлітків Стосунки з однолітками та дорослими Розвиток пізнавальних процесів Формування особистості підлітка ЗАГАЛЬНА ХАРАК...
7298. Основи правового регулювання працевлаштування і зайнятості населення 141 KB
  Основи правового регулювання працевлаштування і зайнятості населення. Поняття зайнятості населення. Правове регулювання працевлаштування громадян України Вирішення соціальних та економічних проблем, які в сучасних умовах стоять перед Україною, з...
7299. Ділова зустріч. Умови ефективної ділової зустрічі 68 KB
  Тема: Ділова зустріч План Характеристика ділової зустрічі. Протокол ділової зустрічі. Умови ефективної ділової зустрічі. Щоб ефективно провести ділову зустріч, до неї потрібно серйозно підготуватись, продумавши все до дрібниць. Про...
7300. Мікроекономічна модель підприємства. виробнича функція 165.5 KB
  Мікроекономічна модель підприємства. виробнича функція План: Підприємство як виробнича система. Фактори виробництва та їх класифікація. Поняття i параметри виробничої функції Виробництво - це процес використання ресурсів для виготовлення ...
7301. Оздоровлення повітряного середовища 49 KB
  Оздоровлення повітряного середовища Метеорологічні умови в робочій зоні приміщень Робоча зона - це простір висотою 2 м над рівнем робочої поверхні. Метеоумови в робочій зоні приміщення визначаються ГОСТ 12.1.005-88 Общие санитарно-гигиенические...
7302. Технологія приготування напівфабрикатів для тортів та тістечок 77 KB
  Технологія приготування напівфабрикатів для тортів та тістечок Бісквітне тісто Бісквіт Буше Бісквіт основний Бісквіт з наповнювачем Бісквіт для рулету Вихід готової продукції. Види браку бісквітних напівф...