- •Численные методы.
- •Действия над приближенными числами.
- •Относительная погрешность.
- •Число верных знаков.
- •Округление чисел.
- •Свойства погрешностей.
- •Универсальный математический пакет программ MathCad: основные сведения.
- •Примеры вычислений в среде MathCad.
- •Найти обратную матрицу
- •Построить график функции
- •Приближенное решение алгебраических и трансцендентных уравнений.
- •Программа на языке qbasic
- •Метод Ньютона (метод касательных).
- •Метод простых итераций (метод последовательных приближений).
- •То итерационный процесс
- •Предельное значение
- •Геометрическая иллюстрация метода итераций.
- •Интерполяция функций. Многочлен Лагранжа.
- •Текст программы на языке qbasic имеет вид
- •Блок-схема программы вычисления процедуры-функции lx() вычисления многочлена Лагранжа k – й степени в точке х1.
- •Интерполяционная функция Ньютона.
- •Аппроксимация функций по методу наименьших квадратов.
- •Текст программы на языке qbasic имеет вид
- •Текст программы на языке qbasic для вычисления среднего квадратического отклонения.
- •Метод Гаусса решения системы линейных уравнений.
- •Текст программы решения системы уравнений методом Гаусса на языке qbasic.
- •Приближенное вычисление определенных интегралов.
- •Формула прямоугольников.
- •Блок-схема программы вычисления интеграла по формуле прямоугольников.
- •Текст программы на языке qbasic интегрирования по формуле прямоугольников.
- •Формула трапеций.
- •Блок-схема программы вычисления интеграла по формуле Симпсона
- •Текст программы на qbasic интегрирования по формуле Симпсона.
- •Численное интегрирование дифференциальных уравнений.
- •Метод Эйлера.
- •Метод Рунге-Кутта.
- •Блок-схема программы вычисления решения дифференциального уравнения по методу Рунге-Кутта.
- •Блок-схема процедуры-функции метода Рунге-Кутта.
- •Расчетные формулы для метода Рунге- Кутта.
- •Результаты работы программы
- •Одномерная оптимизация.
- •Метод дихотомии.
- •Текст программы нахождения минимума методом градиентного спуска.
Интерполяционная функция Ньютона.
Пусть, как и в случае многочлена Лагранжа, известны n + 1 значений функции y = φ(x) y0, y1, …yn при n + 1 значениях аргумента x0, x1, …, xn. Причем разность между двумя соседними значениями постоянна и равна h. Таким образом, имеем таблицу значений неизвестной функции при соответствующих значениях аргумента.
x |
x0 |
x1 = x0 + h |
x2 = x0 + 2h |
… |
xn = x0 + n h |
y |
y0 |
y1 |
y2 |
… |
yn |
Составим многочлен P(x) )степени n такой, что P(x i) = yi. Этот многочлен будет приближенно представлять функцию y = φ(x).
Введем обозначения
Δy0 = y1 – y0, Δy1 = y2 – y1, Δy2 = y3 – y2, ….
Δ2y0 = Δy1 − Δy0 = y2 – 2y1 + y0, Δ2y1 = Δy2 – Δy1= y3 – 2y2 + y1, ….
Δ3y0 = Δ2y1 – Δ2y0 = y3 – 3 y2 + 3y1- y0, …
Δn y0 = Δn - 1y1 – Δn - 1y0
Напишем многочлен, принимающий значения y0 и у1 при х = х0 и х = х1 .
P1(x) = y0 +
Действительно, P1(x0) = y0, P1(x1) = y0 + Δy0 h/h = y0 + y1 – y0 = y1.
Напишем, далее многочлен, принимающий значения y0, y1, y2 при x0, x1, x2. Непосредственной проверкой доказывается, что это будет многочлен второй степени
Наконец, многочлен n – го порядка, принимающий значения y0, y1, …, yn при x0, x1, …, x n , будет иметь вид
Это и есть интерполяционная формула Ньютона. По существу многочлен Лагранжа и многочлен Ньютона тождественны,. но по-разному записаны. Во многих случаях многочлен Ньютона более удобен, чем многочлен Лагранжа. Особенность этого многочлена состоит в том, что при переходе от многочлена k – й степени к многочлену k + 1 – й степени первые k + 1 членов не изменяются, а только добавляется новый член, который обращается в нуль при предыдущих значениях аргумента.
Аппроксимация функций по методу наименьших квадратов.
Пусть на основании экспериментов получена зависимость функции y = φ(x), представленная в виде таблицы.
x |
x1 |
x2 |
… |
x n |
y |
y1 |
y2 |
… |
yn |
Задача состоит в аналитическом представлении функции
y = φ(x) 1)
Возможным вариантом решения является интерполирование с помощью многочлена Ньютона или Лагранжа. Однако, этот способ, требующий обязательного совладения табличных и теоретических значений функции не всегда удобен. При большом количестве узлов интерполяции потребует либо отыскания многочлена большой степени, либо другой «извилистой» функции, график которой проходил бы через все указанные точки. Поэтому рассматривается метод аппроксимации», т.е. приближенного представления искомой функции. Вид функции y = φ(x) устанавливается либо из теоретических соображений, либо на основании расположения на координатной плоскости точек, соответствующих экспериментальным данным. Например, если экспериментальные точки расположены так, как на рис.1, то функцию следует искать в виде y = a x + b, а на рис.2 в виде y = ax2 + bx + c.
y •
•
•
•
• •
х
x1 x2 x3 x4 …. xn
Рис. 1
у
• • •
• • • •
• • •
•
х
Рис. 2.
При выбранном виде функции
y = φ(x, a0, a1, a2, …a k )
следует подобрать параметры a0, a1, a2, …k так, чтобы эта функция в каком-то смысле наилучшим образом описывала рассматриваемый процесс. Наиболее распространенным методом решения данной задачи является метод наименьших квадратов. Этот метод заключается в следующем. Рассмотрим сумму квадратов разностей между экспериментальными значениями и теоретическими значениями функции y = φ(x, a, b, c, …) в соответствующих точках.
(2)
Подберем параметры a0, a1, a2, … так, чтобы эта сумма имела наименьшее значение. Таким образом, задача сведется к нахождению значений параметров a0, a1, a2, …, при которых сумма S(a0, a1, a2, …) имеет минимум.
Из теории функций многих переменных известно, что необходимым условием существования экстремума является равенство нулю частных производных.
(3)
Или в развернутом виде
(4)
Получили систему уравнений относительно a0, a1, a2, …. . Здесь столько уравнений, сколько неизвестных. В каждом отдельном случае исследуется вопрос о существовании решения этой системы и о существовании минимума функции y = φ(x, a0, a1, a2, …a k ) при найденных значениях a0, a1, a2, ….ak. В математическом анализе доказывается, что если в качестве аппроксимирующей функции y = φ(x, a0, a1, a2, …a k ) берется многочлен
y = φ(x, a0, a1, a2, …,a k ) = a0 xk+ a1xk−1 + a 2xk -2 + …+ a1x + ak, (5)
то решение a0, a1, a2, … системы (4) дает минимум функции y = φ(x, a0, a1, a2, …a k ).
Будем искать аппроксимирующую функцию в виде (5). Тогда система (4) примет вид
(6)
Раскрывая скобки, получим
(7)
………………………………………………………………….
Получаем систему линейных уравнений для определения неизвестных коэффициентов , a0, a1, a2, …an.. Из характера задачи следует, что система имеет единственное решение и что при полученных значениях параметров a0, a1, a2, …a k.
Запишем систему (7) в матричном виде AX = B. Здесь А – матрица системы (матрица, составленная из коэффициентов при неизвестных параметрах a0, a1, a2, …a k), Х – столбец неизвестных, В – столбец свободных членов.
B =
Решение системы (7) в матричном виде запишется X0 = A -1 B.
П р и м е р . Для функции, заданной таблично
x |
2.0 |
2.2 |
2.4 |
2.6 |
2.8 |
3.0 |
y |
0.3010 |
0.3424 |
0.3802 |
0.4150 |
0.4472 |
0.4771 |
подобрать многочлен второй степени y = a 0 x2 + a1 x + a 2, найдя значения параметров методом наименьших квадратов.
Имеем n =6, k = 2. Блок-схема программы имеет вид.
Ввод x(i),y(i), i = 0,n n – число точек, в которых даны
значения функции.
i = 0, k k – степень аппроксимирующего
многочлена
j =0, k
да
l = 1, n
A(i, j) = A(i, j) + x(l)^(i + j)
Вывод A(i, j )
i = 0, k
да
l1 = 1, n
B(i) = B(i) + y(l1)* x(l1)^(-i + k)
да
Вывод B(i)