Задачи численного интегрирования

Цель:

- изучить численные методы интегрирования функций;

- научиться составлять блок-схемы алгоритмов интегрирования функций и реализовывать их на ЭВМ.

Общие сведения:

Для вычисления определённого интеграла задачи численного интегрирования - student2.ru , где f(х) есть некоторая заданная в промежутке [a,b] непрерывная функция, наиболее часто прибегают к различным методам приближенного интегрирования.

Определённым интегралом называют площадь криволинейной трапеции, ограниченной кривой y=f(х). Задача сводится к определению этой площади. Для приближённого интегрирования функций разработано много численных методов, в которых вместо кривой подынтегральной функции используются заменяющие её кривые или ломаные линии.

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

Для вычисления приближённого значения определённого интеграла отрезок [a,b] делят на n равных частей точками

a=x0< x1< x2<…< xn=b,

так, что xi+1- xi=(b-a)/n (i=0..n-1). Длина каждого отрезка (шаг интегрирования) определяется как h=(b-a)/n, а точки разбиения (узлы) x0= a, x1= x0+h, … xn= xn-1+h. В узлах вычисляются ординаты y0, y1, …, yn, т.е. yi=f(xi). На частичных отрезках [xi; xi+1] строят прямоугольники, высота которых равна значению f(x) в какой-либо точке каждого частичного отрезка (рис.13.1 и 13.2). Произведение f(xi)× h определяет площадь частичного прямоугольника, а сумма таких произведений - площадь ступенчатой фигуры, предстающей собой приближённое значение интеграла.

Рис.13.1 Рис.13.2
задачи численного интегрирования - student2.ru

Если f(xi) вычисляется в левых концах отрезков [xi; xi+1], то получится формула левых прямоугольников:

задачи численного интегрирования - student2.ru .

Если f(xi) вычисляется в правых концах отрезков [xi; xi+1], то получится формула правых прямоугольников:

задачи численного интегрирования - student2.ru .

Для вычисления интеграла I по методу средних прямоугольников функцию f(xi) вычисляют в точках xi +h/2 Î[xi; xi+1]. В результате получают формулу средних прямоугольников

задачи численного интегрирования - student2.ru .

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

2. Метод трапеций

Для вычисления интеграла I по методу трапеций промежуток интегрирования [xn;xk] делят на n равных частей, через точки разбиения проводят прямые параллельно оси y до пересечения с графиком функции f(x) (рис.13.3). Потом соединяют точки пересечения, площади полученных n-криволинейных трапеций заменяют площадями прямоугольных трапеций с высотой h=(xn-x0)/n.

Приближенное эначение интеграла равно сумме всех площадей частичных трапеций:

задачи численного интегрирования - student2.ru ,

где yi=f(xi).

Рис.13.3
задачи численного интегрирования - student2.ru

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

3. Формула Симпсона

Если на частичном отрезке длиной 2h функция f заменяется дугой параболы (рис.13.4), то можно получить формулу парабол или обобщенную формулу Симпсона:

задачи численного интегрирования - student2.ru .

Рис.13.4
задачи численного интегрирования - student2.ru

На рис.13.5 представлена блок-схема алгоритма приближённого интегрирования функции методами средних прямоугольников, трапеций и Симпсона.

 
  задачи численного интегрирования - student2.ru

Вычисление определенных интегралов с помощью пакета MathСad

Для ввода знака операции интеграла следует нажать кнопку со значком интеграла на панели Calculus (Вычисления) или клавишу <&>.

Пример 1. Вычислить определенный интеграл задачи численного интегрирования - student2.ru

Решение:

Численное вычисление В символьном виде

задачи численного интегрирования - student2.ru

Пример 2 Вычислить определенный интеграл задачи численного интегрирования - student2.ru

Решение:

Численное вычисление задачи численного интегрирования - student2.ru В символьном виде: задачи численного интегрирования - student2.ru

Задание:

1. Изучить методы интегрирования функций.

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

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

4. Составить программу вычисления определенного интеграла и реализовать ее на ПК.

5. Вычислить определенный интеграл с помощью пакета MathСad.

Контрольные вопросы:

1. Какова геометрическая интерпретация определенного интеграла?

2. В чем заключается сущность численных методов интегрирования?

3. Как вычисляются интегралы методами прямоугольников, трапеций и формулы Симпсона?

4. Чем определяется точность вычислений определенного интеграла приближенными методами?

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

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

7. Поясните программу вычисления определенного интеграла.

8. Как вычислить интегралы с помощью пакета MathCad?

Лабораторная работа №14

ЧИСЛЕННОЕ РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

Цель: изучить основные численные методы решения дифференциальных уравнений.

Общие сведения:

Задача Коши заключается в решении обыкновенного дифференциального уравнения (ОДУ)

задачи численного интегрирования - student2.ru , (14.1)

удовлетворяющего условию задачи численного интегрирования - student2.ru .

Задача Коши сводится к интегрированию ОДУ.

Дифференциальные уравнения высшего порядка

задачи численного интегрирования - student2.ru , (14.2)

где (n) – порядок уравнения, могут быть сведены к виду (14.1) с помощью следующих преобразований:

задачи численного интегрирования - student2.ru . (14.3)

Таким образом, решение (14.2) сводится к решению дифференциального уравнения первого порядка (14.3).

Для нахождения функции y=y(x), т.е. решения поставленной задачи Коши, используют два метода: метод Эйлера и метод Рунге-Кутта.

Решение дифференциальных уравнений 1-ого порядка методом Эйлера.

Для решения необходимо задать начальное условие x0 , у0 и шаг h.

Значения аргумента хi = x0 + ih (i = 1, 2, …, n). Приближенные значения yi решения y(хi) по рекуррентной формуле

задачи численного интегрирования - student2.ru .

Погрешность ei, равная абсолютной величине разности между приближенным значением решения yi и истинным значением y(хi), должна удовлетворять неравенству

задачи численного интегрирования - student2.ru

где N – максимальное значение задачи численного интегрирования - student2.ru на отрезке (х0, хn); k – постоянная величина, определяемая из условия Липшица для любых у1, у*:

задачи численного интегрирования - student2.ru .

Геометрический смысл решения методом Эйлера заключается в том, что в каждой точке (xi, yi) проводится касательная к решению y=y(x):

задачи численного интегрирования - student2.ru

и находится приближенное значения решения yi+1 в точке хi+1 на касательной, т.е.

задачи численного интегрирования - student2.ru .

Решение дифференциальных уравнений 1-ого порядка методом Рунге-Кутта.

Метод Рунге-Кутта является наиболее распространенным методом решения систем (14.3) при шаге h = const. Его достоинством является высокая точность и меньшая склонность к образованию неустойчивости решения. Алгоритм реализации метода (рис. 14.2) заключается в циклических вычислениях Yj(i+1) на каждом (i + 1) шаге по следующим формулам

K1j = h×Fj(xi, Yji);

K2j = h×Fj(xi + ½×h, Yji +½×K1j);

K3j = h×Fj(xi + ½×h, Yji +½×K2j); (14.4)

K4j = h×Fj(xi + h, Yji + K3j);

Yj(i+1) = Yji + 1/6 (K1j+ 2×K2j+ 2×K3j+ K4j).

Решение дифференциальных уравнений 2-ого порядка методом Эйлера.

Дифференциальное уравнение 2-го порядка имеет вид

y'' = f(x, y, y') (14.5)

c начальными условиями y(x0)=y0, y'(x0)=y'0.

 
  задачи численного интегрирования - student2.ru

Уравнение (14.5) сводится к системе

y' = p;

p = f(x, y, p),(14.6)

где y(x0) = y0, p(x0) = p = y'0.

Тогда, в соответствии с методом Эйлера, приближенные значения функции у и р в точке хi+1 можно вычислить следующим образом:

yi+1 = yi + h×p i;

p i+1 = p i + h×f(x i, y i, p i).(14.7)

Решение дифференциальных уравнений 2-ого порядка методом Рунге-Кутта.

Решение уравнений вида (14.5) реализуется с помощью следующих формул:

задачи численного интегрирования - student2.ru задачи численного интегрирования - student2.ru

задачи численного интегрирования - student2.ru задачи численного интегрирования - student2.ru

задачи численного интегрирования - student2.ru задачи численного интегрирования - student2.ru (14.8)

Перед началом вычислений необходимо задать шаг h и начальные значения x0, y(x0) = y0, y'(x0) = y'0.

Алгоритм данного метода аналогичен представленному на рис. 14.1. Для решения используется система (14.8).

Решение дифференциальных уравнений с использованием MathCAD.

Решение дифференциальных уравнений в MathCAD возможно с использованием вычислительного блока Given/Odesolve, либо встроенных функций.

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

· Given – ключевое слово;

· дифференциальное уравнение и начальное условие, записанное с помощью логических операторов, причем начальное условие должно быть в форме у(x0) = b;

· Odesolve(x, xk) — встроенная функция для решения дифференциального уравнения относительно переменной x на интервале (x0,xk).

Пример решения задачи Коши для ОДУ 1-ого порядка y=y-y2.

задачи численного интегрирования - student2.ru

Встроенные функции rkfixed, Rkadapt, Bulstoer

В MathCAD имеются три встроенные функции, которые позволяют задачу Коши различными численными методами.

· rkfixed(y0, t0, tl, M, D) – метод Рунге-Кутта с фиксированным шагом;

· Rkadapt (y0, t0, tl, M, D) — метод Рунге-Кутта с переменным шагом;

· Bulstoer (y0, t0, tl, M, D) — метод Булирша-Штера;

где y0 – вектор начальных значений в точке t0 размера N´1; t0 – начальная точка расчета; t1 – конечная точка расчета; M – число шагов, на которых численный метод находит решение; D – векторная функция размера N´l двух аргументов – скалярного t и векторного у. При этом у – искомая векторная функция аргумента t того же размера N´1.

Каждая из приведенных функций выдает решение в виде матрицы размера (M+1)´(N+1). В ее левом столбце находятся значения аргумента t, делящие интервал на равномерные шаги, а в остальных N столбцах – значения искомых функций y0(t), y1(t), …, yN-1(t), рассчитанные для этих значений аргумента.

Пример

y := 0.1

D ( t , y) := y – y2

M := 100

y := rkfixed ( y, 0, 10, M, D)

Задание

1. Составьте блок-схему алгоритма и программу решения задачи Коши методом Эйлера (задание взять у преподавателя, ведущего занятие).

2. Составьте блок-схему алгоритма и программу решения задачи Коши методом Рунге–Кутта.

3. Решить дифференциальные уравнения с помощью пакета MathСad.

Контрольные вопросы

1. Сформулируйте задачу Коши.

2. Опишите метод решения задачи Коши методом Эйлера и его геометрический смысл.

3. Какие преимущества и недостатки метода Эйлера?

4. Опишите метод Рунге–Кутта для решения задачи Коши.

5. Какие преимущества и недостатки метода Рунге–Кутта?

6. Как решить дифференциальные уравнения с помощью пакета Mathcad?

Лабораторная работа №15

Наши рекомендации