- •Оглавление
- •Введение
- •Рабочая программа
- •Краткий конспект лекций *
- •1. Решение алгебраических и трансцендентных уравнений
- •1.1. Метод простой итерации
- •1.2. Усовершенствованный метод последовательный приближений
- •1.3. Метод Ньютона-Рафсона
- •Уравнение касательной
- •1.4. Случай почти равных корней
- •1.5. Метод хорд
- •1.6. Метод секущих
- •Варианты заданий
- •Геометрическое толкование
- •Вопросы для самопроверки
- •2. Методы интерполяции
- •2.1. Метод Лагранжа
- •2.2. Вычислительная схема Эйткена
- •2.3. Определение явного вида интерполяционного многочлена
- •Варианты заданий
- •Вопросы для самопроверки
- •3.Метод наименьших квадратов
- •3.1.Постановка задачи и способ решения
- •3.2.Вычислительная схема метода наименьших квадратов
- •3.3.Получение таблицы экспериментальных данных
- •3.4. Методические указания по выполнению задания
- •3.5. Форматирование Диаграммы
- •Варианты заданий
- •Вопросы для самопроверки
- •4. Полином Чебышева
- •Свойства полиномов Чебышева
- •Определение полиномов Чебышева
- •Численная оценка полиномов Чебышева
- •5. Решение систем линейниых (слау) и нелинейных уравнений (снау)
- •5.1. Метод Ньютона - Рафсона для систем нелинейных уравнений
- •5.2. Метод итерациЙ для систем нелинейных уравнений
- •5.3. Системы линейных уравнений Метод Простой итерации
- •5.4. Метод Зейделя
- •Варианты заданий
- •Вопросы для самопроверки
- •6. Численное интегрирование
- •6.1.Квадратурные формулы, порожденные интерполяционными формулами
- •6.2. Квадратурные формулы Гаусса
- •6.3 Метод Ромберга
- •6.4. Вычисление интеграла по формуле прямоугольников
- •6.5 Вычисление интеграла по формуле трапеций
- •6.6. Вычисление интеграла методом Симпсона
- •6.7 Вычисление интеграла методом Гаусса
- •Варианты заданий
- •Вопросы для самопроверки
6.3 Метод Ромберга
Можно вычислить приближение Симпсона по особым линейным комбинациям формул трапеций.
а b a b
T
— площадь под T
— площадь под
20 = 1 трапецией 21 = 2 трапециями
T
=
a b a b
T
—
площадь под T
— площадь под
22 = 4 трапециями 23 = 8 трапециями
Пусть промежуток интегрирования разбит на 2к равных частей и для этого разбиение по формуле трапеций получено значение Т0(к). Значение Т0(к) совпадают со значениями вычисляемого интеграла, если интегрируемая функция линейна, то есть f (x) является многочленом 1-й степени. По формуле:
Tm(k)
=
,
называемой формулой
Ромберга, построим следующую Т
- схему:
T0(0)
T1(0)
T0(1) T2(0)
T1(1) T3(0)
T0(2) T2(1) T4(0)
T1(2) T3(1)
T0(3) T2(2)
T1(3)
T0(4)
Для интегрируемых по Риману функций все столбцы и все наклонные строки Т — схемы сходятся к искомому значению интеграла. Выпишем явные формулы для следующего фрагмента Т — схемы:
T0(0)
T1(0)
T0(1) T3(0)
T2(1)
T0(2)
1.
k = 0; 2k
=
20
=
1 часть,
то
есть
(b - a). T0(0)
=
[f
(x0)
+ f
(x4)],
так как при k
= 2; 2k
= 22
= 4 части xi
= a
+ i
*
,
i
= 0, 1, 2, 3, 4.
2. T0(1) = * [f (x0) + f (x2)] + * [f (x2) + f (x4)] = [f (x0) + 2f (x2) + f (x4)]k = 1 → 2k = 21 = 2 части
3. T1(0)
=
=
=
=
=
=
.
4.
T0(2)
=
5. T1(1)
=
=
=
=
формула Симпсона (парабол)
6.
T2(0)
=
=
=
-
формула Ньютона — Котеса
Задача: Известно, что
π
Определить приближённо число π, проведя для указанного интеграла 4 итерации по Ромбергу.
Дополнение 1:
3[
]
= 2
6
=
.
Так как
и
симметричен, то:
;
,
.
Дополнение 2. Изложим последовательность действий при решении задач методом Ромберга:
1. В качестве первого приближения вычисляется значение площади трапеции, основания которой проведены через границы промежутка интегрирования. Полученное значение заносится в матрицу приближений как:
.
2. Затем запускается цикл. На каждом его круге шаг уменьшается вдвое. На первом обороте цикла вычисляется приближение по методу трапеций из того условия, что интервалов интегрирования уже два. Полученное более точное, приближение заносится в первую строку нулевого столбца. На втором круге шаг уменьшается в четыре раза относительно первоначального, и соответственно трапеций будет просуммировано четыре. Новое приближение занесено во вторую строку. И так далее, до тех пор, пока не будет выполнено условие остановки цикла. В качестве условия остановки цикла в методе Ромберга используют критерий разности двух последних приближений. В этом случае, если разность по модулю окажется меньше заданной точности, то цикл остановится и в качестве ответа будет выдано последнее приближение.
Sub Rombeg() 'начало программы
Dim Result As Double 'задание типа параметра результата
Dim T() As Double 'задание типа параметра
Dim D As Double 'задание типа параметра длины отрезка
Dim S As Double 'задание типа параметра суммы
Dim H As Double 'задание типа параметра расстояния
Dim X As Double 'задание типа параметра х
Dim M As Double 'задание типа параметра
Dim N As Integer 'задание типа параметра
Dim I As Integer 'задание типа параметра переменной в цикле
Dim J As Integer 'задание типа параметра переменной в цикле
A = InputBox("введите нижний предел") 'диалог запроса нижнего предела
B = InputBox("введите верхний предел") 'диалог запроса верхнего предела
K = InputBox(" введите число разбиений") 'диалог запроса числа разбиений
ReDim T(1 To K + 1) 'объявление массива
D = B - A 'вычисление длины отрезка
T(1) = f(A) + f(B) / 2 'вычисление Т(1)
N = 1 'присвоение N значение 1
I = 1 'присвоение I значение 1
Do 'начало цикла
S = 0 'присвоение сумме значение 0
N = 2 * N 'увеличение N в двое
H = D / N 'вычисление расстояния
J = 1 'присвоение J значение 1
Do 'начало цикла
X = A + J * H 'вычисление х координаты
S = S + f(X) 'вычисление суммы
J = J + 2 'увеличение переменной на 2
Loop Until Not J <= N 'конец цикла с условием
T(I + 1) = (2 * S / N + T(I)) / 2 'вычисление последующего Т
M = 1 'присвоение M значение 1
J = I 'присвоение J значение I
Do 'начало цикла
M = 4 * M 'увеличение M в 4 раза
T(J) = T(J + 1) + (T(J + 1) - T(J)) / (M - 1) 'вычисление Т(J)
J = J - 1 'уменьшение J на 1
Loop Until Not J >= 1 'конец цикла с условием
I = I + 1 'увеличение I на 1
Loop Until Not I <= K 'конец цикла с условием
Result = T(1) * D 'вычисление результата
c = MsgBox(Result, 0, "Результат") 'выведение сообщения на экран
End Sub 'конец программы
Function f(X) 'объявление ф-ии
f = 4 / (1 + X * X) 'ф-ия задана уравнением
End Function 'конец объявления
