Загрузка...
Категории:

Загрузка...

Интерполирование функций

Загрузка...
Поиск по сайту:


Скачать 166.8 Kb.
Дата09.03.2012
Размер166.8 Kb.
ТипЛабораторная работа
Содержание
Лабораторная работа 2. Приближенное вычисление интегралов.
Описание методов вычисления определенных интегралов
Формула прямоугольников.
Формула трапеций
Формула парабол (формула Симпсона или квадратурная формула).
Блок-схема алгоритма программы интегрирования функции (формула Симпсона).
Лабораторная работа №3
Метод Зейделя
Лабораторная работа 4. Решение нелинейных уравнений.
Описание метода деления отрезка пополам для решения нелинейных уравнений.
Подобный материал:

Лабораторная работа 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) = x^2 * sin x

F(x) = x^2 * sin x – (x^2 – 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 = a111 (b1a12x2a13x3 – … – a1nxn),

из второго уравнения – неизвестное x2:

x2 = a211 (b2a22x2a23x3 – … – a2nxn),

и т. д. В результате получим систему

x1 = b12x2 +b13x3 + … + b1,n1xn1 + 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 b13b1n

b21 0 0 … 0 0 0 b23b2n

B1 = b31 b32 0 … 0 , B­­2 = 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)aii1(∑j=1i1 aijxj(k+1) + ∑j=1n aijxi(k)bi).

Тогда достаточным условием сходимости метода Зейделя будет

j=1, ji n | ij | < | ii |

(условие доминирования диагонали).

Метод Зейделя иногда называют также методом Гаусса-Зейделя, процессом Либмана, методом последовательных замещений.

Блок-схема алгоритма реализации метода Зейделя на ЭВМ




Решив систему линейных алгебраических уравнений (вариант 7) по методу Зейделя получили то, что ряд расходится.

^ Лабораторная работа 4. Решение нелинейных уравнений.

Цель работы: изучение методов решения нелинейных алгебраических и трансцендентных уравнений, практическое решение уравнений на ЭВМ.

^ Описание метода деления отрезка пополам для решения нелинейных уравнений.

Это один из простейших методов нахождения корней нелинейных уравнений. Он состоит в следующем. Допустим, что нам удалось найти отрезок [a,b], в котором расположено искомое значение корня x = c, т. е. a0 = (a + b)/2. Далее исследуем значения функции F(x) на концах отрезков [a,c0] и [c0,b], т. е. в точках a, c0, b. Тот из них, на концах которого F(x) принимает значения разных знаков, содержит искомый корень; поэтому его принимаем в качестве нового отрезка. Вторую половину отрезка [a,b], на которой знак F(x) не меняется, отбрасываем. В качестве первой итерации корня принимаем середину нового отрезка и т. д. Таким образом, после каждой итерации отрезок, на котором расположен корень, уменьшается вдвое, т. е. после n итераций он сокращается в 2n раз.



Пусть для определенности 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/


Скачать, 207.53kb.
Поиск по сайту:

Добавить текст на свой сайт
Загрузка...


База данных защищена авторским правом ©ДуГендокс 2000-2014
При копировании материала укажите ссылку
наши контакты
DoGendocs.ru
Рейтинг@Mail.ru