Интерполирование функций
Вид материала | Лабораторная работа |
- Президента Российской Федерации, акты органов закон, 302.8kb.
- Тема. Тригонометрические функции любого угла, 58.27kb.
- Вопросы к экзамену Дедуктивный характер математики. Предмет математической логики,, 21.21kb.
- Лекция 19. Предел и непрерывность функции нескольких переменных, 34.61kb.
- Тема 3 Непрерывные функции. Точки разрыва функции. Теоретические вопросы, 130.27kb.
- Программа курса лекций (4 курс, 8 сем., 32 ч., экзамен) Профессор, д ф. м н., Лариса, 14.31kb.
- Задание в Mathcad сигналов в виде функций и векторов. В mathcad для задания различных, 94.91kb.
- Семинар №6 Тема: Машины Тьюринга, 17.33kb.
- «Excel. Использование функций рабочей таблицы. Аргументы. Мастер функций. Логические,, 136.32kb.
- Ммаэ-2 Теория и практика построения производственных функций, 207.53kb.
Лабораторная работа 1. Интерполирование функций.
Цель работы: изучение методов интерполирования функций, написание и выполнение программы интерполирования функции методом Лагранжа.
Описание метода Лагранжа.
Интерполирование предполагает нахождение значений функции, соответствующих промежуточным значениям аргумента, отсутствующим в таблице логарифмов, тригонометрических и др. функций.
При интерполировании по таблице значений функции строится ее аналитическое выражение, т.е. по значениям функции y0, y1, ..., yn при значениях аргумента хо, х1, ..., хn определяется выражение неизвестной функции. Через данные точки можно провести множество различных кривых. Поэтому существует интерполирование в различных функциях F(х). Чаще всего требуется, чтобы функция F(х) была многочленом степени на единицу меньшей, чем число известных значений.
Таким образом, задачу интерполирования функций можно сформулировать следующим образом.
Для данных значений х хо, х1, ..., хn и y y0, y1, ..., yn найти многочлен y = Fn(х), удовлетворяющий условиям F(хо) y0, F(х1) y1, ..., F(хn) yn. Точки хо, х1, ..., хn называют узлами интерполяции, многочлен Fn(х) интерполяционным многочленом, а формулы его построения интерполяционными формулами. Интерполяционный многочлен опишет кривую, проходящую точно через заданные точки.
При параболическом интерполировании в качестве интерполяционного многочлена F(х) принимают многочлен n ой степени вида:
Fn(х) ао + а1х + а2х2 + ... + аnxn.
Запишем многочлен F(х) для произвольного значения хi (i = 0, 1, 2, ..., n), принимающего значения F(хi) = yi, а во всех остальных точках х хi значение, равное нулю.
Как видно из записи, числитель не будет содержать выражения (х хi), а знаменатель (хi хi), т.е. выражений, обращающих числитель и знаменатель в нуль.
Искомый многочлен будет равен сумме
Полученная формула называется интерполяционной формулой Лагранжа.
Пусть r(x) – некоторая функция, w(x)=(x-x0)(x-x1)…(x-xn) тогда формула погрешности имеет вид:
Блок-схема алгоритма программы интерполирования функции методом Лагранжа.
Вариант 7.
x= -7,4
xi | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
yi | 14 | 10 | 7 | 4 | 2 | 0 | -1 | -2 | -1 | -1 | 0 | 3 | 4 | 8 | 11 | 15 | 20 | 27 | 32 | 39 |
Ответ: 0,826180594471453
Лабораторная работа 2. Приближенное вычисление интегралов.
Цель работы: изучение различных методов вычисления определенных интегралов, практическое интегрирование функций на ЭВМ.
Описание методов вычисления определенных интегралов.
Если функции u = (x) и v = (x) непрерывны на отрезке [a, b], а также непрерывны на этом отрезке их производные, то справедлива формула интегрирования по частям:
Существует огромное количество функций, интеграл от которых не может быть выражен через элементарные функции. Для нахождения интегралов от подобных функций применяются разнообразные приближенные методы, суть которых заключается в том, что подынтегральная функция заменяется «близкой» к ней функцией, интеграл от которой выражается через элементарные функции.
Формула прямоугольников.
Если известны значения функции f(x) в некоторых точках x0, x1, … , xm, то в качестве функции «близкой» к f(x) можно взять многочлен Р(х) степени не выше m, значения которого в выбранных точках равны значениям функции f(x) в этих точках.
Если разбить отрезок интегрирования на n равных частей:
При этом y0 = f(x0), y1 = f(x1), …. , yn = f(xn).
Общая формула прямоугольников:
или
Формула трапеций является более точной по сравнению с формулой прямоугольников.
Г
еометрически площадь криволинейной трапеции заменяется суммой площадей вписанных трапеций. Очевидно, что чем больше взять точек n разбиения интервала, тем с большей точностью будет вычислен интеграл.
Формула трапеций:
Формула парабол (формула Симпсона или квадратурная формула).
Томас Симпсон (1710-1761) - английский математик.
Разделим отрезок интегрирования [a, b] на четное число отрезков (2m). Площадь криволинейной трапеции, ограниченной графиком функции f(x) заменим на площадь криволинейной трапеции, ограниченной параболой второй степени с осью симметрии, параллельной оси Оу и проходящей через точки кривой, со значениями f(x0), f(x1), f(x2).
Для каждой пары отрезков построим такую параболу.
Уравнения этих парабол имеют вид Ax2 + Bx + C, где коэффициенты А, В, С могут быть легко найдены по трем точкам пересечения параболы с исходной кривой.
Обозначим .
Если принять х0 = -h, x1 = 0, x2 = h, то .
Тогда уравнения значений функции имеют вид:
C учетом этого:
Формула Симпсона:
Чем больше взять число m, тем более точное значение интеграла будет получено.
Формула относительной погрешности:
,
I – точное значение интеграла, вычисленное через первообразную функции; Ih – значение интеграла, полученное в результате применения конкретной формулы интегрирования.
Блок-схема алгоритма программы интегрирования функции (формула Симпсона).
Вариант 7.
Дано:
f(x) = x2 * sin x
F(x) = x2 * sin x – (x2 – 2) cos x
a = 0
b = 1
Если n = 10 (количество подотрезков), то
Ответ:
Интеграл по Симпсону = 0,2236, интеграл по первообразной = 0,2232, δ(погрешность) = 0,1841
Лабораторная работа №3
Решение систем линейных алгебраических уравнений
Цель работы: изучение численных методов решения систем линейных алгебраических уравнений методом Зейделя, практическое решение систем на ЭВМ.
Метод Зейделя
Приведение системы к виду, удобному для итераций. Для того чтобы применить метод Зейделя к решению системы линейных алгебраических уравнений
Ax = b
с квадратной невырожденной матрицей A, необходимо предварительно преобразовать эту систему к виду
x = Bx + c.
Здесь B – квадратная матрица с элементами bij (i, j = 1, 2, …, n), c – вектор-столбец с элементами cij (i = 1, 2, …, n).
В развернутой форме записи система имеет следующий вид:
x1 = b11x1 + b12x2 + b13x3 + … + b1nxn + c1
x2 = b21x1 + b22x2 + b23x3 + … + b2nxn + c2
. . . . . . . . . . . . . . . . .
xт = bт1x1 + bт2x2 + bт3x3 + … + bттxт + ст
Вообще говоря, операция приведения системы к виду, удобному для итераций, не является простой и требует специальных знаний, а также существенного использования специфики системы.
Самый простой способ приведения системы к виду, удобному для итераций, состоит в следующем. Из первого уравнения системы выразим неизвестное x1:
x1 = a11–1 (b1 – a12x2 – a13x3 – … – a1nxn),
из второго уравнения – неизвестное x2:
x2 = a21–1 (b2 – a22x2 – a23x3 – … – a2nxn),
и т. д. В результате получим систему
x1 = b12x2 +b13x3 + … + b1,n–1xn–1 + b1nxn+ c1 ,
x2 = b21x1 + b23x3 + … + b2бт–1xт–1 + b2тxт+с2,
x3 = b31x1 + b32x2 + … + b3бт–1xт–1 + b3тxт+с3,
. . . . . . . . . . . . . . . . . . . . . . .
xт = bт1x1 + bт2x2 +bт3x3 + … + bтбт–1xт–1 + ст,.
в которой на главной диагонали матрицы B находятся нулевые элементы. Остальные элементы выражаются по формулам
bij = –aij / aii, ci = bi / aii (i, j = 1, 2, …, n, j ≠ i)
Конечно, для возможности выполнения указанного преобразования необходимо, чтобы диагональные элементы матрицы A были ненулевыми.
Описание метода. Введем нижнюю и верхнюю треугольные матрицы
0 0 0 … 0 0 b12 b13…b1n
b21 0 0 … 0 0 0 b23…b2n
B1 = b31 b32 0 … 0 , B2 = 0 0 0 … b3n
. . . . . . . . . . . . . .
bn1 bn2 bn3…0 0 0 0 … 0
Заметим, что B = B1 + B2 и поэтому решение x исходной системы удовлетворяет равенству
x = B1x + B2 x + c .
Выберем начальное приближение x(0) = [x1(0), x2(0), …, xn(0)]T. Подставляя его в правую часть равенства при верхней треугольной матрице B2 и вычисляя полученное выражение, находим первое приближение
x(1) = B1x(0) + B2x(1)
Подставляя приближение x(1), получим
x(2) = B1x(1) + B2x(2)
Продолжая этот процесс далее, получим последовательность x(0), x(1), …, x(n), … приближений к вычисляемых по формуле
x(k+1) = B1(k+1) + B2(k) + c
или в развернутой форме записи
x1(k+1) = b12x2(k) +b13x2(k) + … + b1nxn(k) +c1 ,
x2(k+1) = b21x1(k+1) + b23x3(k) + … + b2nxn(k) + c2 ,
x3(k+1) = b31x1(k+1) +b32x2(k+1) + … + b3nxn(k) + c3 ,
. . . . . . . . . . . . . . . . . . . . . .
xn(k+1) = bn1x1(k+1) +bn2x2(k+1) +bn3x3(k+1) + …+ cn .
Объединив приведение системы к виду, удобному для итераций и метод Зейделя в одну формулу, получим
xi(k+1) = xi(k) – aii–1(∑j=1i–1 aijxj(k+1) + ∑j=1n aijxi(k) – bi).
Тогда достаточным условием сходимости метода Зейделя будет
∑j=1, j≠i n | aij | < | aii |
(условие доминирования диагонали).
Метод Зейделя иногда называют также методом Гаусса-Зейделя, процессом Либмана, методом последовательных замещений.
Блок-схема алгоритма реализации метода Зейделя на ЭВМ
Решив систему линейных алгебраических уравнений (вариант 7) по методу Зейделя получили то, что ряд расходится.
Лабораторная работа 4. Решение нелинейных уравнений.
Цель работы: изучение методов решения нелинейных алгебраических и трансцендентных уравнений, практическое решение уравнений на ЭВМ.
Описание метода деления отрезка пополам для решения нелинейных уравнений.
Это один из простейших методов нахождения корней нелинейных уравнений. Он состоит в следующем. Допустим, что нам удалось найти отрезок [a,b], в котором расположено искомое значение корня x = c, т. е. a
Пусть для определенности F(a)<0, F(b)>0. В качестве начального приближения корня примем c0 = (a + b)/2. Поскольку в рассматриваемом случае F(c0)<0, то c0 < c < b, и рассматриваем только отрезок [c0,b]. Следующее приближение: c1 = (c0 + b)/2. При этом отрезок [c1,b] отбрасываем, поскольку F(c1)>0 и F(b)>0, т. е. c0 < c < c1. Аналогично находим другие приближения: c2 = (c0 + c1)/2 и т. д.
Итерационный процесс продолжаем до тех пор, пока значение функции F(x) после n-й итерации не станет меньшим по модулю некоторого заданного малого числа e , т. е. . Можно также оценивать длину полученного отрезка: если она становится меньше допустимой погрешности, то счет прекращается.
Метод деления отрезка пополам довольно медленный, однако он всегда сходится, т. е. при его использовании решение получается всегда, причем с заданной точностью. Требуемое обычно большее число итераций по сравнению с другими методами не является препятствием к применению этого метода, если каждое вычисление значения функции F(x) несложно.
Блок-схема алгоритма программы решения СЛАУ методом Гаусса.
Вариант 7.
Дано:
ε = 0.001
Ответ: x=1.11328125/