Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы.doc
Скачиваний:
172
Добавлен:
07.11.2018
Размер:
1.08 Mб
Скачать

Текст программы на qbasic интегрирования по формуле Симпсона.

DEF FNsim (x) = COS(x + x ^ 5)

a = 0

b = 2

E = .0001

n = 2

h = (b - a) / n

s = (FNsim(a) + 4 * FNsim((a + b) / 2) + FNsim(b)) * (h / 3)

m1: n = 2 * n

h = (b - a) / n

s1 = s

c = 4

x = a

s = FNsim(a) + FNsim(b)

FOR i = 1 TO n - 1

x = x + h

s = s + c * FNsim(x)

c = 6 - c

NEXT i

s = s * (h / 3)

IF ABS(s - s1) / 15 >= E THEN GOTO m1

WRITE "integral =", s, "n=", n

END

Наконец, вычисление определенного интеграла можно осуществить используя пакет программ MathCAD.

Интегрирование начинается с открытия рабочего листа и записи оператора интегрирования с использованием панели «Матанализ» Затем в оператор вписывается переменная, сама функция и пределы интегрирования. Вводим знак =. Автоматически получаем результат. Точность результата получим: «формат», «результат». В открывшемся окне укажем необходимое число десятичных знаков.

Численное интегрирование дифференциальных уравнений.

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

y′ = f(x,y) (1)

Требуется найти частное решение y = φ(x), удовлетворяющее начальным условиям

y = y0 при x = x0. (2)

Решить дифференциальное уравнение численным методом – это означает, что для данной последовательности аргументов x0, x1, ..., xn и числа y0, не определяя функцию y = φ(x), найти такие значения у1, у2, ..., у n, что yi ≈ φ(x i) (i = 1, 2, ..., n) и φ(x0) = y0.

Таким образом, численные методы позволяют находить вместо функции y = φ(x) таблицу приближенных значений этой функции для заданной последовательности значений аргументов. Величина h = x i – x i – 1 шагом интегрирования.

Метод Эйлера.

Этот метод является сравнительно грубым и применяется, в основном, для ориентировочных расчетов. Однако. идеи этого метода являются исходными для других методов. Итак, нужно найти решение уравнения (1), удовлетворяющее условиям (2).

Разобьем отрезок [х0, b] на n равных частей.

Пусть y = φ h(x) – приближенное решение этого уравнения. Обозначим

y0 = φh(x0), y1 = φh(x1), ..., yn= φh(xn)

Δx i = x i + 1 – x i,

Δy i = y i + 1 – yi.

y

Δy1

Δy0 y = φ(x) y i – искомые ординаты интегральной .

y2 y i yn кривой.

y0 y1

x0 x1 x2......x i ... b x

Рассмотрим уравнение (1) на отрезке [x0, x1]. Заменим производную на , а правую чаcть на f(x0, y0). Тогда,

На отрезке [x1, x2]

Соединяя точки (x i, y i) отрезками прямых, получим ломаную Эйлера.

Можно показать, что если выполняются условия теоремы Коши, то

.

Ломаная Эйлера будет стремиться к интегральной кривой.

Метод Рунге-Кутта.

Более точным методом численного интегрирования дифференциальных уравнений является метод Рунге- Кутта. Метод Рунге-Кутта является одним из методов повышенной точности.. Этот метод является усовершенствованным методом Эйлера.

Пусть на отрезке [x0,b] требуется найти численное решение уравнения

y′ = f(x,y) (1)

с начальными условиями

y = y0 при x = x0. (2)

Разобьем отрезок [x0,b] на n равных частей точками x i = x0 + i h (i = 0, 1, ..., n), где

- шаг интегрирования.

Так же как и в методе Эйлера, последовательность значений y i искомой функции y определяется по формуле

yi + 1 = yi + Δyi

Если разложить функцию у в ряд Тейлора и ограничиться членами до h4 включительно, то приращение Δy представляется в виде

(3)

Вместо вычислений производных по формуле (3) в методе Рунге-Кутта определяются четыре числа

Можно показать, что если числам k(i)j (j =1, 2, 3, 4 ) придать соответственно вес 1/6, 1/3, 1/3, 1/6 , то средневзвешенное этих чисел будет приближенно равно Δ y i+1/

Числа имеют простой геометрический смысл.

y i + k1h

yi + k2h

yi

y i + k3h

yi + k4h

x i x i + h/2 x i + h x

Оценка точности этого метода очень затруднительна. Грубую оценку погрешности можно получить с помощью «двойного пересчета» по формуле

Здесь y(xi) – значение точного решения уравнения (1), а yi и yi* - приближенные значения, полученные с шагом h и h/2. Отсюда, задав погрешность формул Е, следует добиться того, чтобы значения уi . полученные с шагом h и с шагом h/2, удовлетворяли условию

|y*i – yi| < 15/16 E.