ЧИСЛЕННЫЕ МЕТОДЫ И ПРОГРАММИРОВАНИЕ Материалы к лекционному курсу Лектор – ст. преп. Щербаков И.Н. Задачи, сводимые к решению систем линейных уравнений
|
X | Y |
x1 | y1 |
x2 | y2 |
... | ... |
xn | yn |
Совокупность значений независимой переменной {x1., x2, …, xn} называют сеткой, на которой задана функция, отдельные значения независимой переменной называют узлами сетки. Обычно предполагается, что узлы упорядочены по возрастанию:
x1 < x2 < … < xn
Узлы могут располагаться на произвольном расстоянии друг от друга,
либо на одинаковом, в последнем случае сетка называется равномерной,
а расстояние между узлами – шагом сетки h
xi+1 - xi = h для всех i = 1, 2, …, n-1
Задачей интерполирования является получение значений зависимой переменной в любой точке x на отрезке [x1, xn], не совпадающей с узлами сетки. Решение этой задачи сводится к отысканию некоторой приближающей функции f(x), которая в некотором смысле близка к F(x), и для которой известно аналитическое выражение. При решении задачи интерполяции требуется, чтобы во всех узлах сетки значения таблично заданной и приближающей функции строго совпадали:
f(xi) = F(xi) = yi для всех i = 1, 2, …, n-1
Простейшим способом решения задачи интерполяции является использование в качестве приближающей функции некоторой математической модели, поведение которой определяется ровно n числовыми параметрами ai, относительно которых она линейна:
gi(x) – произвольные функции от переменной x, не содержащие числовые параметры ai. Исходя из требования равенства значений функции f(x) в узлах сетки можно получить n уравнений, линейных относительно параметров ai .
В матричной форме система уравнений будет записана в следующем виде:
Решением системы уравнений будет являться вектор-столбец параметров ai , которые полностью определяют аналитический вид приближающей функции f(x). После этого, подставляя произвольные значения независимой переменной в найденную функцию можно рассчитать соответствующее значение зависимой переменной.
Пример:
Известны значения зависимой переменной y от x в четырех точках:
x | y |
1,1 | 14 |
2,1 | 18,3 |
3,5 | 21 |
6,2 | 24 |
Найдите значения y при x = 5,6 и x =3, использовав для интерполяции следующую функцию:
Решение: Число параметров интерполяционной функции совпадает с числом узлов, в которых определена функция. Сравнивая заданную модель с общим видом модели, линейной по отношению к параметрам, получим:
Составим систему линейных уравнений:
Или, в матричной форме:
После подстановки числовых значений из условия задачи, матрица коэффициентов принимает вид:
Решение системы методом обратной матрицы дает следующий вектор-столбец коэффициентов:
Таким образом, найденная интерполяционная функция записывается так:
Теперь подстановкой можно найти значения функции:
f(5,6)=22,37007 f(3)= 20,23857
Задача решена.
Интерполирование функций полиномами
Классическим методом интерполяции таблично заданных функций является интерполяция полиномами Lm(x):
Старшая степень переменной x определяет степень полинома. Очевидно, что полином степени m полностью определяется m+1 параметром ai. Поэтому для интерполяции функции, заданной в n узлах можно использовать полином степени m = n - 1. Сравнивая выражение для Lm(x) и общее определение для математической модели, линейной по отношению к параметрам, получим, что:
, ... , , ... ,
Система линейных уравнений в матричной форме примет следующий вид:
В рамках линейной алгебры доказывается, что определитель этой матрицы (он называется определителем Вандермонда) отличен от нуля, если все xi различны, поэтому система уравнений будет иметь единственное решение.
Интерполирование полиномами помимо самостоятельной ценности в качестве инструмента решения задачи интерполирования функций, играет так же важную роль при численном решении многих других математических других задач, например, вычислении определенных интегралов, решении обыкновенных дифференциальных уравнений и многих других.