Министерство образования и науки Республики Казахстан
Карагандинский Государственный Технический Университет
Кафедра ____САПР______
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
По дисциплине: ”Математическое обеспечение САПР”
Тема: «Сравнительный анализ численных методов»
Руководитель
(подпись)(дата)
Студент
(подпись)(дата)
2009
Содержание
Введение
1. Постановка задачи
2. Методы решения нелинейных уравнений
2.1 Общие сведения
2.2 Метод касательных (метод Ньютона)
2.2.1 Общие сведения
2.2.2 Решение нелинейного уравнения методом касательных
2.3 Метод хорд
2.3.1 Общие сведения
2.3.2 Решение нелинейного уравнения методом хорд
2.4 Вывод
2.5 Метод простых итераций
2.5.1 Общие сведения
2.5.2 Решение нелинейного уравнения методом простыхитераций
2.6 Программа для решения нелинейныхуравнений
3. Решение нелинейных уравнений методом интерполирования
3.1 Интерполяция
3.2 Многочлен Лагранжа
3.3 Интерполяция сплайнами
3.4 Использование интерполяции на практике
3.4.1 Интерполяция с помощью многочлена Лагранжа
3.4.2 Обратная интерполяция
3.4.3 Интерполяция сплайнами
3.5 Программа для использованияинтерполяции
4. Итерационные методы решениясистем линейных алгебраических уравнений
4.1 Общие сведения
4.2 Метод простой итерации
4.2.1 Описание метода
4.2.2 Решение СЛАУ методом простых итераций
4.2.3 Программа для решения СЛАУ методом простых итераций
4.3 Метод Зейделя
4.3.1 Описание метода
4.3.2 Решение СЛАУ методом Зейделя
4.3.3 Программа дл решения СЛАУ методом Зейделя
4.4 Сравнительный анализ
5. Сравнительный анализ различных методов численногодифференцирования и интегрирования
5.1 Методы численного дифференцирования
5.1.1 Описание метода
5.1.2 Нахождение производной
5.2 Методы численного интегрирования
5.2.1 Общие сведения
5.2.2 Нахождение определенного интеграла
5.3 Решение ОДУ
5.3.1 Решение ОДУ методом Эйлера
5.3.2 Решение ОДУ методом Рунге-Кутты
6.Численные методы решения обыкновенных дифференциальныхуравнений
6.1 Общие сведения
6.2 Метод Эйлера
Заключение
Список использованной литературы
Введение
На практике в большинстве случаев найти точное решениевозникшей математической задачи не удается. Это происходит главным образом непотому, что мы не умеем этого сделать, а поскольку искомое решение обычно невыражается в привычных для нас элементарных или других известных функциях. Поэтомуважное значение приобрели численные методы, особенно в связи с возрастаниемроли математических методов в различных областях науки и техники и с появлениемвысокопроизводительных ЭВМ.
Под численными методами подразумеваются методы решениязадач, сводящиеся к арифметическим и некоторым логическим действиям над числами,т.е. к тем действиям, которые выполняет ЭВМ.
В настоящее время появилось значительное число различныхпрограммных продуктов (MathCAD, MathLAB и т.д.), с помощью которых, задаваятолько входные данные, можно решить значительное число задач.
Конечно, использование таких программных продуктовзначительно сокращает время и ресурсы по решению ряда важных задач. Однако,использование этих программ без тщательного анализа метода, с помощью которогорешается задача, нельзя гарантировать, что задача решена правильно. Поэтому дляболее полного понимания того, как осуществляется расчет различного видауравнений и их систем, необходимо теоретически изучить методы их решения и напрактике их проработать.
Целью выполнения данного курсового проекта являетсяприобретение практических навыков решения нелинейных уравнений, системылинейных алгебраических уравнений, обыкновенных дифференциальных уравненийразличными численными методами.
1. Постановка задачи
Порядок выполнения:
По итерационным методам решения нелинейных уравнений:
Определить корень в заданном или любом выбранном отрезкеметодом хорд, касательных, простых итераций.
Используя результаты решений, указать наименьший полученныйотрезок, в котором содержится корень уравнения.
Для каждого метода и каждой задачи построить график функции />на [a,b] и убедиться в выполнении условия сходимостиитерационной процедуры.
Используя функции f (x) из п.1, построить интерполяционный многочлен L4 (x) на [a,b], использовав вкачестве узловых a иb, остальныенеобходимые узловые точки выбрать, разделив промежуток [a,b] на почти равные части. Вычислить значения f (x) и L4(x) в двух точках, одна из которых — середина крайнейчасти, а вторая — середина части, содержащей точку />.Сравнить полученные величины. Используя эти же узловые точки, провести обратнуюинтерполяцию и определить значение х при y=0.Полученный результат сравнить с ранее найденным решением уравнения.
Сравнить результаты решения СЛАУ методом простой итерации иметодом Зейделя на различных шагах итерации.
Провести сравнительный анализ различных методов численногодифференцирования и интегрирования.
Найти численное решение обыкновенного дифференциальногоуравнения методом Эйлера и уточненным методом Эйлера с 5-ю и 20-ю шагами исравнить их, если возможно с результатом точного решения ОДУ.
2. Методы решения нелинейных уравнений2.1 Общие сведения
Рассмотрим уравнение вида f (x) =0, (2.1), где f (x) — любая нелинейная функция.
Корнем уравнения(2.1) называется значение />, при котором/>. Способы приближенногорешения, т.е. алгоритм решения, предполагает определение x*c некоторой наперед заданной точностью.
Для нахождения корней уравнения (2.1) различают следующиедва этапа.
Отделения (локализации) корней, т.е. нахождение такихинтервалов по аргументу x, внутри каждого из которыхсуществует только один корень уравнения (2.1). Если у функции на концахисследуемого отрезка [a,b] функцияимеет разные знаки, то на этом отрезке функция имеет не менее одного корня. Еслиже одинаковые знаки, то функция может не иметь корней или иметь четное числокорней. Следовательно, локализация заключается в том, что необходимо установитьотрезки, на которых есть смена знаков функции и, кроме того, выполнено условиеединственности корня, т.е. функция на этом отрезке должна иметь первуюпроизводную с постоянным знаком. Из условия сходимости итерационной последовательноститакже требуется, чтобы вторая производная не меняла знак, т.е. на исследуемомотрезке функция бала бы только выпуклой или вогнутой.
Уточнение корней заключается в применении некоторогоитерационного метода, в результате которого корень уравнения (2.1) может бытьполучен с любой наперед заданной точностью ε. При этом, останавливаяпроцесс на какой-либо конечной итерации, необходимо оценить погрешность посравнению с точным корнем, который неизвестен. Выбранный метод позволяет построитьпоследовательность х1, х2, х3, …, хk,… приближений к корню. Итерационный процесс состоит в последовательномуточнении начального приближения х0. Каждый такой шаг называется итерацией. Врезультате итераций находится последовательность приближенных значений корнях1, х2, х3, …, хk, … Если эти значения с ростом k стремятся к истинномузначению корня />, тоитерационный процесс сходится.
Основными методами решения нелинейных уравнений,реализованных в виде численной процедуры, являются итерационные методы.2.2 Метод касательных (метод Ньютона)2.2.1 Общие сведения
Метод Ньютона, называемый также методом касательных,состоит в следующем. Рассмотрим в точке x0касательную к кривой y=f (x), задаваемую уравнением
y= f (x0) + (x-x0)f ’ (x0).
За начальное приближение x0 принимаетсяодин из концов отрезка [a, b],где значение функции имеет такой же знак, что и 2-я производная. Функция f (x) должнаудовлетворять на отрезке [a, b]следующим условиям:
1) существование производных 1-го и 2-го порядков;
2) f ’ (x) /> 0;
3) производные 1-го и 2-го порядков знакопостоянны наотрезке [a, b].
Положим y=0, находим точку x1 пересечения касательной с осью абсцисс:
x1= х0 — f (х0) /f ’ (х0).
Построив касательную в точке x1(рисунок 2.1), получаем по аналогичной формуле точку x2пересечения этой касательной с осью x и т.д. Формуладля n-го приближения имеет вид:
хn=хn-1 — F (хn-1) /F’ (хn-1), n=1,2,…
/>
Рисунок 2.1 — Метод касательных
В этом методе на n-й итерации проводится касательная ккривой y =f (x) при х=xn-1 и ищется точка пересечения касательной с точкойабсцисс. При этом необязательно задавать отрезок [a,b], содержащий кореньуравнения, а достаточно лишь найти некоторое начальное приближение корня х.
Итерационный процесс останавливают при выполнении условия />; где ε — заданнаяточность.2.2.2 Решение нелинейного уравнения методомкасательных
1. Дано уравнение tg (0.36*x +0.4) =x2. Решить егометодом касательных с точностью решения/>=0,001.
Для нахождения корня исследуем функцию
/>.
График функции представлен на рисунке 2.2
/>
Рисунок 2.2 — График исследуемой функции
Находим отрезок, в котором функция монотонно возрастает илиубывает, а также где концы отрезка будут иметь разные знаки.
Выбираем концы отрезка: a= -1; b = 0. График функции на этом отрезке представлен на рисунке 2.3
/>
Рисунок 2.3 — График функции на выбранном отрезке
Проверяем существование корня на отрезке по условию />
f (-1) = — 0,95998
f (0) =0,42279
/>
0,405869
Исследуем функцию на монотонность: />
/>
/>
/>
/>
Экстремумов на выбранном отрезке нет.
Находим первую производную функции:
/>
В точке a перваяи вторая производные равны:
/>, />
В точке bперваяи вторая производные равны:
/>,/>
Выбираем тот конец отрезка, который совпадает со знаком 2-ойпроизводной.
/>, x0=-1,/>-0,95998* (/>) =1,90998;/>
По формуле
/>
находим:
/>
/>, />, />x>0.001
/>/> />
/>x>0.001
/> />
/>x>0.001
/>, />
/>x
Необходимая точность достигнута при n=4,т.е. на 4-й итерации.
Так как заданная точность достигнута, то процесс можнопрекратить.
Теперь строим график функции x=/>, т.е. последовательность xn, стремящаяся к x* и условием сходимости здесь является /> (рисунок2.4).
/>
Рисунок 2.4 — График функции /> дляисследуемой функции
2. Дано уравнение
x3-0,2×2+0,4x-1,4=0.
Решить его методом касательных с точностью решения/>=0,001.
Для нахождения корня исследуем функцию
/>.
График функции представлен на рисунке 2.5
/>
Рисунок 2.5 — График исследуемой функции
Находим отрезок, в котором функция монотонно возрастает илиубывает, а также где концы отрезка будут иметь разные знаки.
Выбираем концы отрезка: a= -0.1; b = 1.5 График функции на этом отрезке представлен на рисунке2.6
/>
Рисунок 2.6 — График функции на выбранном отрезке
Проверяем существование корня на отрезке по условию
/>
/>
/>-3,066375
3,066375
Исследуем функцию на монотонность:
/>
/>
/>
/>
6,2225>0
Экстремумов на выбранном отрезке нет.
Находим первую производную функции:
/>; />
В точке a перваяи вторая производные равны:
/>, />
В точке bперваяи вторая производные равны:
/>,/>
Выбираем тот конец отрезка, значение функции в которомсовпадает со знаком 2-ой производной.
Принимаем:
x0= 1,5 />2.125*6.55=13,91875, />
По формуле
/>
находим:
/>
/>
/>
/>x>0.001
/>/> />
/>x>0.001
/>
/>
/>x>0.001
/>
/>
/>x
Необходимая точность достигнута при n=4,т.е. на 4-й итерации.
Так как заданная точность достигнута, то процесс можнопрекратить.
Теперь строим график функции x=/>, т.е. последовательность xn, стремящаяся к x* и условием сходимости здесь является /> (рисунок2.7).
/>
Рисунок 2.7 — График функции /> дляисследуемой функции
2.3 Метод хорд2.3.1 Общие сведения
Как и в методе хорд, функция f (x) должна удовлетворять наотрезке [a, b] следующим условиям:
1) существование производных 1-го и 2-го порядков;
2) f ’ (x) /> 0;
3) производные 1-го и 2-го порядков знакопостоянны наотрезке [a, b].
За начальное приближение x0 принимаетсяодин из концов отрезка [a, b],где значение функции имеет такой же знак, что и 2-я производная. За x1 выбирается второй край отрезка. В данном методепроцесс итераций состоит в том, что в качестве приближений корню уравненияпринимаются значения х0, х1,… точек пересечения хорды сосью абсцисс (рисунок 2.8).
/>
Рисунок 2.8 — Метод хорд
Формула для n-го приближения имеетвид:
/>
Итерационный процесс останавливают при выполнении условия />; где ε— заданнаяточность.
2.3.2 Решение нелинейного уравнения методом хорд
1. Дано уравнение
tg (0.36*x+0.4) =x2.
Решить его методом хорд с точностью решения/>=0,001.
Как в предыдущем методе для нахождения корня исследуемфункцию
/>.
Выбираем концы отрезка: a= -1; b = 0. График функции на этом отрезке представлен на рисунке 2.9
/>
Рисунок 2.9 — График функции на выбранном отрезке
По данным из п.2.2.2 за x0выбираем тот конец отрезка, который совпадает со знаком 2-ой производной. А за x1 второй конец отрезка.
x0=-1; x1=0.
По формуле
/>
находим:
/>
/>
/>
/>x>0.001
/>
/>
/>x>0.001
/>
/>
/>x>0.001
/>
/>
/>x>0.001
/>
/>
/>x>0.001
/>
/>
/>x
Необходимая точность достигнута при n=7,т.е. на 6-й итерации.
Так как заданная точность достигнута, то процесс можнопрекратить.
Теперь строим график функции x=/>, т.е. последовательность xn, стремящаяся к x* и условием сходимости здесь является /> (рисунок2.10).
/>
Рисунок 2.10 — График функции /> дляисследуемой функции
2. Дано уравнение x3-0,2×2+0,4x-1,4=0. Решить егометодом хорд с точностью решения/>=0,001.
Как в предыдущем методе для нахождения корня исследуемфункцию
/>.
График функции представлен на рисунке 2.5
Выбираем концы отрезка: a= -0.1; b = 1.5 График функции на этом отрезке представлен на рисунке2.11
/>
Рисунок 2.11 — График функции на выбранном отрезке.
По данным из п.2.2.2 за x0выбираем тот конец отрезка, который совпадает со знаком 2-ой производной иудовлетворяет условию />. А за x1 второй конец отрезка.
x0=1,5; x1=0,5.
По формуле
/>
находим:
/>
/>
/>
/>x>0.001
/>
/>
/>x>0.001
/>
/>
/>x>0.001
/>
/>
/>x>0.001
/>
/>
/>x>0.001
/>
/>
/>x>0.001
/>
/>
/>x>0.001
/>
/>
/>x
Необходимая точность достигнута при n=9,т.е. на 8-й итерации.
Так как заданная точность достигнута, то процесс можнопрекратить.
Теперь строим график функции x=/>, т.е. последовательность xn, стремящаяся к x* и условием сходимости здесь является /> (рисунок2.12).
/>
Рисунок 2.12 — График функции /> дляисследуемой функции.
2.4 Вывод
Судя по графикам и сравнивая эти два метода, можно сделатьвывод, что искомый корень находится в промежутке между найденными приближеннымикорнями, т.е. для функции /> на отрезке [-0.48059; — 0.48028],а для для функции /> на отрезке [1,0627; 1,06289]
На рисунках 2.12, 2.13 приведены графики функций на данныхотрезках.
/>
Рисунок 2.12 — График функции />
/>
Рисунок 2.13 — График функции />
Анализируя эти два метода, можно отметить, что в методехорд, чтобы достичь заданной точности, необходимо выполнять больше итераций,чем в методе касательных. Так, в первом примере, в методе хорд мы выполнили 6итераций, а в методе касательных всего 4; во втором примере в методе хорд мывыполнили 8 итераций, а в методе касательных всего 4. С другой стороны, вметоде хорд не нужно вычислять производную функции на каждом шаге. Такимобразом, как мне кажется, метод касательных является более трудоемким.2.5 Метод простых итераций2.5.1 Общие сведения
Пусть дано уравнение f (x) =0, (1)
Метод простых итераций уточнения корней уравнения (1) состоитв замене этого уравнения эквивалентным ему уравнением
/> (2)
и построении последовательности
/> (3),
где
/>,
Например
x0= (а + b) /2
Если не удается выразить х из уравнения (1), тоэквивалентное уравнение и эквивалентную функцию можно построить, например, так:
/>
Последовательность (3) называют методом простых итераций уточнениякорней уравнения (1).
Теорема (достаточное условие сходимости метода простыхитераций). Пусть функция />в эквивалентном уравнении (2) определенаи дифференцируема на отрезке /> Тогда, если существуетчисло q такое, что
/>
но отрезке [а, b], топоследовательность (3) сходится к единственному корню уравнения (2) прилюбом начальном приближении x0.
Критерий окончания итерационного процесса. При заданнойточности />>0 вычисления следует вести до тех пор, пока неокажется выполненным неравенство
/>
Если величина />, томожно использовать более простой критерий окончания итераций:
/>2.5.2 Решение нелинейного уравнения методом простыхитераций
1. Дано уравнение tg (0.36*x +0.4) =x2. Решить егометодом простых итераций с точностью решения/>=0,001. Как в предыдущих методахдля нахождения корня исследуем функцию
/>.
Выбираем концы отрезка: a= -1; b = 0. График функции на этом отрезке представлен на рисунке 2.14.
/>
Рисунок 2.14 — График функции на выбранном отрезке
/>
Приведем уравнение к виду x=x-af (x), где итерационная функция (x) =x-af (x), a — итерационный параметр.
/>
/>
Максимальное и минимальное значения производной достигаютсяна концах отрезка:
/>
/>/>
/>
/>/>
Применяем формулу x=x — af(x) =f (x):
/>
2. Дано уравнение x3-0,2×2+0,4x-1,4=0. Решить егометодом методом простых итераций с точностью решения/>=0,001.
Для нахождения корня исследуем функцию />.
Выбираем концы отрезка: a= -0.1; b = 1.5 График функции на этом отрезке представлен на рисунке2.15.
/>
Рисунок 2.15 — График функции на выбранном отрезке.
Найдем корень с помощью встроенной функции root:
/>
Приводим уравнение к виду x=f (x), где
/>
Проверим условиесходимости:
/>
Максимальное по модулю значение производной итерационнойфункции достигается в левом конце отрезка:
/>
/>
Применяем формулу x= (x):
/>
2.6 Программа для решения нелинейных уравнений
На рисунках 2.16, 2.17 представлены программы для решениянелинейных уравнений методами хорд и касательных.
Пользователь вводит необходимые данные и при нажатии кнопки«Решить» выводится результат.
Листинги программ представлены в приложениях А, Б.
/>
Рисунок 2.16 — Программа для решения методом касательных
/>
Рисунок 2.17 — Программа для решения методом хорд
3. Решение нелинейных уравнений методоминтерполирования3.1 Интерполяция
Интерполяция является одним из способов аппроксимациифункции. Смысл аппроксимации заключается в том, что производится замена однойфункции другой в некотором смысле близкой.
Такая задача возникает по многим соображениям в частности,из-за удобства вычисления значений функции, вычисления производных и т.д.
Допустим, в n+1 точке заданызначения x0,x1,…xn и соответствующие им значения f(x0), f (x1), …, f (xn). Значения f (xi) вычисляются только в случае, если известнафункция f (x), но эти значениямогут быть получены, например, экспериментальным путем как значение некойнеизвестной функции.
Точки xi, в которыхизвестны значения функции, носят названия узлов интерполяции.
Интерполяция заключается в выборе функции φ (х),значения которой в узлах интерполяции совпадают со значениями f(xi).
φ (хi) = f (xi)
Между узлами значения этих функций могут отличаться (рисунок3.1).
/>
Рисунок 3.1 – Интерполяция
Мы рассмотрим простейший случай, когда в качествеинтерполируемой функции используется полином степени n.Преимущества такой интерполяции очевидны. Значения полинома легко вычисляются,имеют непрерывную производную.3.2 Многочлен Лагранжа
Пусть известны значения некоторой функции fв n+1 различных точках. Возникает задача приближенноговосстановления функции f в произвольной точке x. Часто для решения этой задачи строится алгебраическиймногочлен Ln (x) степениn, который в точках xiпринимает заданные значения, т.е.
Ln (xi)=fi, i=0,1,…,n
и называется интерполяционным.
В частности, мы рассматриваем построение интерполирующегомногочлена Лагранжа.
/>,
где
fi — значения интерполируемой функции в i-томузле;
/> – коэффициентинтерполяции Лагранжа
/>.
Можно сказать, что L1 (x) — линейная функция x, поэтомутакую интерполяцию называют линейной (она производится для двух точек).
Интерполяционный многочлен Лагранжа обладает темнедостатком, что в случае, когда добавляются новые узлы интерполяции, всеслагаемые необходимо пересчитывать. Но, с другой стороны, он обладает темдостоинством, что интервалы между узлами могут быть неравномерными.
Обратная интерполяция заключается в построении зависимости x(y) и, затем, с помощью такого многочлена легко можнонайти корень нелинейного уравнения.
Многочлен Лагранжа в этом случае выглядит следующим образом:
/>,
где
xi — значения узлов;
/> – коэффициентинтерполяции Лагранжа
/>.
Если задано достаточно много узлов на отрезке [a,b], то интерполирующие функции наотрезке [a,b] представляютсобой непрерывную функцию, уже первая производная которой являетсякусочно-непрерывной.
В узлах, где происходит стыковка отдельных интерполяционныхмногочленов, производная рвется. Этого недостатка не имеет интерполяция сплайнами.
3.3 Интерполяция сплайнами
Пусть отрезок [a, b]разбит на n одинаковых частей точками x0,x1,…xn.
Примем
x0=а, xn=b,h= (b-a) /n, xi= a+ih.
Сплайном называется непрерывная на [a,b] и имеющая непрерывные производные функция, на каждомиз частичных участков представляющая собой алгебраический многочлен. Порядкомсплайна называется старший порядок многочлена, а дефектом сплайна называетсяразность между порядком сплайна и старшей непрерывной производной.
Например, линейная интерполяция — это сплайн первого порядкас дефектом 1.
Наиболее широкое распространение на практике имееткубический сплайн. Если сплайн используется для интерполяции некоторой функциии ее производных, т.е. в узлах интерполяции значение сплайна и ее производныхнекоторых порядков совпадают со значениями функции и ее производныхсоответствующих порядков, то такой сплайн называется интерполяционным.
Если интерполяционный сплайн на заданном отрезкерассматривать как совокупность кубических сплайнов для каждой пары точек, такаяинтерполяция носит название локальной интерполяции.
Этот сплайн не прерывен вместе с первой производной, нонепрерывность второй производной не гарантируется, т.е. дефект сплайна равен 2.Если этот сплайн имеет непрерывную вторую производную на отрезке [a, b], т.е. имеет дефект 1, то такойсплайн носит название глобального.
Для построения кубического сплайна используется формула:
/>
Для построения глобального сплайна, т.е. сплайна с дефектом1 необходимо, начиная со 2-го узла, поставить условие непрерывности 2-йпроизводной, т.е.2-я производная при подходе к точке 2 и дальше слева (x1-0) должна равняться второй производной приподходе справа (x1+0).
Такие равенства можно составить для всех внутренних узлов x1 до xn-1.Затем используем условия на краях x0и xn, получаем систему уравнений, которая иобеспечит дефект 1.
/>
Очевидно, что при наличии S3 насоответствующих участках, построение таких равенств не представляет особоготруда.
/>
/>
Приравнивая эти значения, для определения mполучим СЛАУ.
/> />
В двух крайних точках:
/>
/>
Если функция задана в виде таблиц, то длявычисления производных используеться результаты, получаемые при численномдиференцировании, порядок точности которых не ниже 3-ей степени.3.4 Использование интерполяции напрактике3.4.1 Интерполяция с помощью многочлена Лагранжа
Задание: найти приближенное значение функции приданном значении аргумента с помощью интерполяционного многочлена Лагранжа, еслифункция задана в неравносторонних узлах таблицы. Дана функция:
/>
Составляем таблицу узлов интерполяции:
Поскольку n=5 строиминтерполяционный многочлен L5 (x):
L5 (x) =P50*f (x0)+P51*f (x1) + P52*f (x2) + P53*f(x3) + P54*f (x4) + P55*f (x5)/>
/>
/>
/>
/>
/>
В результате получаем многочлен:
/>
L5 (x)= 1.049*10-3*x5+5.4373*10-3*x4 +0.027*x3 — 0,936*x2 + 0,424*x+0.42278, X= — 0.48051
Подставляя заданное значение аргумента, получаем ответ:
L5 (x)= 0,00011
При подстановки того аргумента в заданную функцию, получаемтакой же результат:
f (-0.48051) =0.000113.4.2 Обратная интерполяция
Задание: найти приближенное значение корня данном значениифункции с помощью интерполяционного многочлена Лагранжа, если функция задана вравносторонних узлах таблицы.
Дана функция:
/>
Составляем таблицу узлов интерполяции:i
Xi
Yi -0,7 -0.34091 1 -0,5 -0.02638 2 -0,3 0.21059 3 -0,1 0.37098 4 0,1 0.4559
Поскольку n=4 строиминтерполяционный многочлен L4 (y):
L4 (y) =P40*x0+P41*x1+P42*x2+ P43*x3+ P44*x4
/>
/>
/>
/>
/>
В результате получаем многочлен:
/>
L4 (y)= 7.99*y4-0.8176*y3- 0.4932* y2 +0.9008*y- 0.4759
y= 0
Подставляя заданное значение функции, получаем ответ:
L4 (y)= — 0.47591
Таким образом, получаем приближенное значение корня:
X= — 0.47591
При подстановки этого аргумента в заданную функцию, получаемрезультат:
f (-0,47591) = 0.00625
3.4.3 Интерполяция сплайнами
Задание:
На участке [b,b+2]выбрать 3 точки (b,b+1,b+2), построить два сплайна на двух отрезках, убедиться втом, что в точке b+1 производная не терпит разрыва.
/>
Построим таблицу:i 1 2 3
xi 1 2
yi 0.42279 -0.4955 -1.93404
/>
Для построения сплайна используем формулы:
/>
/>
h=/>
Таким образом, нам необходимо, чтобы вторая производная быланепрерывна, т.е. получить сплайн с дефектом 1.
Для построения глобального сплайна необходимо, начиная совторого узла поставить условие непрерывности 2-ой производной, т.е.2-аяпроизводная при подходе к точке 2 и дальше слева (x1-0)должна равняться 2-ой производной при подходе справа (x1+0):
/>
/>
/>
Приравнивая эти значения, получаем:
/>
/>
/>
Для нашей функции получаем:
/>
/>
/> 0.42435
/> – 2.10346
После того, как мы нашли m1,можем построить графики (рисунок 3.2).
S3(x1+0) />
S3(x1 -0) />/>
Рисунок 3.2 — Глобальная интерполяция сплайнами
Также можно сравнить с графиком самой функции (рисунок 3.3).
S3(x1+0)
F(x) />
S3(x1 -0) />/>/>
Рисунок 3.3 — Сравнение графика функции и глобальнойинтерполяции
3.5 Программа дляиспользования интерполяции
На рисунках 3.4 представлена программа для использованияинтерполяции сплайнами. Пользователь вводит необходимые данные и при нажатиикнопки «График» строится кубический сплайн.
Листинг программы представлен в приложении В.
/>
Рисунок 3.4 — Программа для использования интерполяциисплайнами
4. Итерационные методы решения систем линейныхалгебраических уравнений4.1 Общие сведения
К численным методам линейной алгебры относятся численныеметоды решения систем линейных алгебраических уравнений. Методы решения СЛАУразбиваются на две группы. К первой группе принадлежат так называемые точныеили прямые методы — алгоритм, позволяющий получить решение системы за конечноечисло арифметических действий. Вторую группу составляют приближенные методы, вчастности итерационные методы решения СЛАУ.4.2 Метод простой итерации4.2.1 Описание метода
Рассмотрим СЛАУ вида
Ax = B, гдеА — матрица. (1)
A = {aij}i, j = 1…n
B = {bi}x = {xi}
Если эту систему удалось привести к виду x= Cx + D, то можно построитьитерационную процедуру
xk = Cxk-1+ D
xk →x*, где х* — решение заданной системы.
В конечном варианте система будет имееть вид:
x1=c11x1+c12x2+c13x3+…c1nxn+d1
x2=c21x1+c22x2+c23x3+…c2nxn+d1
x3=c31x1+c32x2+c33x3+…c1nxn+d3
…………………………………………. .
xn=cn1x1+cn2x2+cn3x3+…cnnxn+dn
Условием сходимости для матрицы С выполняется, если суммамодулей коэффициентов меньше единицы по строкам или по столбцам, т.е.
/>, или />.
Необходимо, чтобы диагональные элементы матрицы А былиненулевыми.
Для преобразования системы можно выполнить следующиеоперации:
x1=a11-1 (c1-a12x2 — a13x3-… — a1nxn)
x2=a22-1 (c2-a21x2 — a23x3-… — a2nxn)
………………………. .
xn=ann-1 (cn-an1x2 — an3x3-… — an-1nxn-1)
В результате получим систему:
x1=0+ c12x2+ c13x3-…+ c1n-1xn-1+ c1nxn+d1
x2= c21x2+0+c23x3+…+ c2n-1xn-1+ c2nxn+d2
………………………………………………………. .
xn= cn1x1+cn2x2 +cn3x3+…+ cnn-1xn-1+0+dn
В ней на главной диагонали матрицы С находятся нулевыеэлементы, остальные элементы выражаются по формулам:
сij=-aij/aii,di=ci/aii (i,j=1,2,3…n, ij)
Итерационный процесс продолжается до тех пор, пока значениях1(k), х2(k), х3(k) не станут близкими с заданной погрешностью кзначениям х1(k-1), х2(k-1), х3(k-1).4.2.2 Решение СЛАУ методом простых итераций
Решить СЛАУ методом простых итераций сточностью />.
/>
Для удобства преобразуем систему к виду:
/>
Условие сходимости:
/>,
/>
Принимаем приближение на 0-ом шаге:
/>, />
/>, />
На 1-м шаге выполняем следующее:
Подставляем принятые приближения в первоначальную системууравнений
/>
/>
/>
/>
Смотрим не выполняется ли условие остановкиитерационного процесса:
/>:
/>
На 2-м шаге выполняем следующее:
/>
/>
/>
/>
Смотрим не выполняется ли условие остановкиитерационного процесса
/>: />
На 3-м шаге выполняем следующее:
/>
/>
/>
/>
Смотрим не выполняется ли условие остановкиитерационного процесса
/>: />
На 4-м шаге выполняем следующее:
/>
/>
/>
/>
Смотрим не выполняется ли условие остановкиитерационного процесса
/>: />
На 5-м шаге выполняем следующее:
/>
/>
/>
/>
Смотрим не выполняется ли условие остановкиитерационного процесса:
/>: />
На 6-м шаге выполняем следующее:
/>
/>
/>
/>
Смотрим не выполняется ли условие остановкиитерационного процесса:
/>: />
Необходимая точность достигнута на 6-й итерации. Такимобразом, итерационный процесс можно прекратить.
/>4.2.3 Программа для решения СЛАУ методом простыхитераций
На рисунке 4.1 представлена программа для решения системалгебраических линейных уравнений методом простых итераций.
Листинг программы приведен в приложении Г.
/>
Рисунок 4.1 — Программа «Метод простых итераций»4.3 Метод Зейделя4.3.1 Описание метода
В этом методе результаты, полученные на k-томшаге, используются на этом же шаге. На (k+1) — йитерации компоненты приближения /> вычисляютсяпо формулам:
/>
/>
………………………………………….
/>
Этот метод применим к система уравнений в виде Ax=B при условии, что диагональныйэлемент матрицы коэффициентов A по модулю должен бытьбольше, чем сумма модулей остальных элементов соответствующей строки (столбца).
Если данное условие выполнено, необходимо проследить, чтобысистема была приведена к виду, удовлетворяющему решению методом простойитерации и выполнялось необходимое условие сходимости метода итераций:
/>, либо />
4.3.2 Решение СЛАУ методом Зейделя
Решить СЛАУ методом Зейделя с точностью />.
/>
Эту систему можно записать в виде:
/>
В этой системе сразу видно, что выполняется условие, гдедиагональные элементы матрицы коэффициентов по модулю больше, чем сумма модулейостальных элементов соответствующей строки.
Для удобства преобразуем систему к виду:
/>
Условие сходимости:
/>,
/>
Принимаем приближение на 0-ом шаге:
/>
/>
/>
/>
На 1-м шаге выполняем следующее:
Подставляем принятые приближения в первоначальную системууравнений
/>
/>
/>
/>
Смотрим не выполняется ли условие остановкиитерационного процесса
/>:
/>
На 2-м шаге выполняем следующее:
/>
/>
/>
/>
Смотрим не выполняется ли условие остановкиитерационного процесса
/>:
/>
На 3-м шаге выполняем следующее:
/>
/>
/>
/>
Смотрим не выполняется ли условие остановкиитерационного процесса:
/>:
/>
На 4-м шаге выполняем следующее:
/>
/>
/>
/>
Смотрим не выполняется ли условие остановкиитерационного процесса
/>:
/>
Необходимая точность достигнута на 4-й итерации. Такимобразом, итерационный процесс можно прекратить.
/>4.3.3 Программа дл решения СЛАУ методом Зейделя
На рисунке 4.2 представлена программа для решения системалгебраических линейных уравнений методом простых итераций.
Листинг программы приведен в приложении Г.
/>
Рисунок 4.2 — Программа «Метод Зейделя»4.4 Сравнительный анализ
Можно заметить, что в методе Зейделя быстрее мы достигаемойнужной точности, в нашем случае в точность была достигнута на 4-й итерации,когда в методе простых итераций она была достигнута на 6-й итерации. Но в то жевремя в методе Зейделя ставится больше условий. Поэтому вначале нужнопроизвести иногда довольно трудоемкие преобразования. В таблице 4.1 приведенырезультаты решения СЛАУ методом простой итерации и методом Зейделя на различныхшагах итерации:
Таблица 4.1 — Результаты решения СЛАУ№ шага Метод постой итерации Метод Зейделя
x1=1.34
x2=-1.75
x3=0.5
x4=0.65
x1=1.34
x2=-1.75
x3=0.5
x4=0.65 1
x1=1.277
x2=-1.56227
x3=0.3147
x4=0.5335
x1=1.277
x2=-1.57047
x3=0.3324
x4=0.5837 2
x1=1.31335
x2=-1.6127
x3=0.3647
x4=0.5884
x1=1.32469
x2=-1.5974
x3=0.355808
x4=0.58638 3
x1=1.315391
x2=-1.5935
x3=0.34936
x4=0.57867
x1=1.318014
x2=-1.5945
x3=0.354137
x4=0.58556 4
x1=1.3173416
x2=-1.5968
x3=0.35577
x4=0.58589
x1=1.318367
x2=-1.59481
x3=0.35437
x4=0.58554 5
x1=1.3179137
x2=-1.59467
x3=0.35371
x4=0.58462 6
x1=1.3181515
x2=-1.59506
x3=0.35455
x4=0.58557
5. Сравнительный анализ различных методовчисленного дифференцирования и интегрирования5.1 Методы численного дифференцирования5.1.1 Описание метода
Предположим, что в окрестности точки xiфункция F (x)дифференцируема достаточное число раз. Исходя из определения производной:
/>
Для оценки погрешностей формул численного дифференцированияиспользуется формула Тейлора:
/> (1)
Отбрасываяпоследнее слагаемое, мы можем вычислить производную.
/>
Тогда отброшенное слагаемое будет являться погрешностью вформуле (1). В зависимости от того, какая точка выбирается за x отличаютправостороннюю и левостороннюю производную.
Если для вычисления /> вместоx возьмем xi-1,то получится левосторонняя производная (2), а если xi+1,правосторонняя производная (1).
/> (1)
/> (2)
Отсюда видно, что порядок погрешности x- xi, т.е. при использовании
xi-1 или xi+1, порядка O(h).
При достаточно очевидном результате выражения (1) и (2) имеютнизкую точность, т.е. высокую погрешность. Поэтому на практике большеиспользуются так называемая центрально-симметричная формула, имеющая большойпорядок точности.
/>
Очевидно, что эта формула используется только для внутреннихточек отрезка.5.1.2 Нахождение производной
Вычислим производную функции f (x) =sin (x) вкакой-либо точке на отрезке [0,π] двумя способами.
Разобьем отрезокна части:
/>
h=/>
Найдем производную в точке x=/>.
По центрально-симметричной формуле:
/>
По формуле правосторонней производной:
/>
/>=cos (/>) =0.9659,
значит вычисление производной по центрально-симметричнойформуле более точнее.5.2 Методы численного интегрирования5.2.1 Общие сведения
Для вычисления определённого интеграла используется формула:
/>
Вычисление интеграла в таком виде не всегда удается, поэтомувозникает задача приближенного значения этого интеграла.
В теории численного интегрирования используются следующиеформулы для вычисления:
Формула левых прямоугольников:
/>
Формула правых прямоугольников:
/>
У этих формул погрешность порядка О (h).
Улучшения результатов можно добиться путем интерполирования(интерполирование можно вести на отрезке [a,b]). Интерполяция первого и второго порядка носит
Формула трапеции:
/>
Формула Симпсона
/>, где n=2m
h=b-a/n5.2.2 Нахождение определенного интеграла
Вычислим интеграл для функции /> разнымиспособами.
Разобьем отрезок[0, />] на части:
/>
h=/>
По формуле левых прямоугольников:
/>
По формуле трапеции:
/>
По формуле Симпсона:
При m=3:
/>
При m=2:
/>
Сравним полученные результаты с табличным:
/>=1
Можно сделать вывод, при вычислении определенного интеграланаибольшую степень точности дает формула Симпсона.
5.3 Решение ОДУ5.3.1 Решение ОДУ методом Эйлера
/>, />
/>
Далее приведены результаты вычислений.
/>
/>
Далее приведены результаты вычислений.
/>5.3.2 Решение ОДУ методом Рунге-Кутты
/>, />
/>
Далее приведены результаты вычислений.
/>
/>
/>
/>/>
Поправка Ричардсона Riдля метода Эйлера:
/>
/>
Поправка Ричардсона Riдля метода Рунге-Кутта:
/>
/>
6.Численные методы решения обыкновенныхдифференциальных уравнений6.1 Общие сведения
Обыкновенные дифференциальные уравнения являются модельюдинамических систем. То есть систем меняющих свои свойства при изменениинезависимой переменной в качестве таковой очень часто выступает время.
Обыкновенными дифференциальными уравнениями называются такиеуравнения, которые содержат одну или несколько производных от искомой функции y=y (x). Ихможно записать в виде
/>,
где х — независимая переменная.
Наивысший порядок n входящей вуравнение
/>
производной называется порядком дифференциального уравнения.
Методы решения обыкновенных дифференциальных уравнений можноразбить на следующие группы: графические, аналитические, приближенные и численные.
Графические методы используют геометрические построения.
Аналитические методы встречаются в курсе дифференциальныхуравнений. Для уравнений первого порядка (с разделяющимися переменными,однородных, линейных и др.), а также для некоторых типов уравнений высшихпорядков (например, линейных с постоянными коэффициентами) удается получитьрешения в виде формул путем аналитических преобразований.
Приближенные методы используют различные упрощения самихуравнений путем обоснованного отбрасывания некоторых содержащихся в них членов,а также специальным выбором классов искомых функций.
Численные методы решения дифференциальных уравнений внастоящее время являются основным инструментом при исследованиинаучно-технических задач, описываемых дифференциальными уравнениями. При этомнеобходимо подчеркнуть, что данные методы особенно эффективны в сочетании сиспользованием современных компьютеров.
Существуют различные задачи для ОДУ, мы будем рассматриватьзадачу Коши. Из курса математики известны условия существования единственностирешения задачи Коши и также известно, что аналитически эта задача решается вдостаточно редких случаях. То есть для того чтобы ОДУ являлась модельюнекоторого динамического процесса, имела аналитическое решение приходитсяпринимать слишком много предположений упрощающих исходную постановку. Чтодалеко не всегда является продуктивным.6.2 Метод Эйлера
Начальные условия: х=х0, у=у0, />=f(x,y). Задача заключается втом, что необходимо построить функцию y=F (x) или Ф (х, у) =0, производнаякоторой удовлетворяет заданному дифференциальному уравнению. Причем криваясоответствующей этой функции проходит через точку (х0, у0).Мы будем искать на заданном отрезке [a, b] х0=а значения некоторой функции, которые близкик соответствующим значениям искомого решения. Иногда говорят, что мы строимсеточную функцию, если разобьем отрезок [a, b] на n частей (h=(b-a) /n,где h — шаг сетки), тогда хi=x0+ih. Заменим в левойчасти производную /> правойразностью. При этом значения функции /> узлах /> заменим значениямисеточной функции />:
/>
Полученная аппроксимация ДУ имеет первый порядок, посколькупри замене /> на
/>
допускается погрешность />.
Будем считать для простоты узлы равноотстоящими, т.е.
/>
Тогда из равенства
/>
Получаем
/>
Заметим, что из уравнения/> следует
/>.
Поэтому
/>
представляет собой приближенное нахождение значение функции /> в точке /> при помощи разложения вряд Тейлора с отбрасыванием членов второго и более высоких порядков. Другимисловами, приращение функции полагается равным её дифференциалу. Полагая i=0, с помощью соотношения
/>
находим значение сеточной функции /> при
/>: />.
Требуемое здесь значение /> заданоначальным условием />, т.е. />. Аналогично могут бытьнайдены значения сеточной функции в других узлах:
/>
Построенный алгоритм называется методом Эйлера, графическион представлен на рисунке 6.1.
/>
Рисунок 6.1 -Метод Эйлера5.3 Метод Рунге-Кутты
Одним из способов улучшения метода Эйлера является методРунге-Кутты. Формула Рунге — Кутты 4-го порядка:
/>, />
/>, />
/>, />
Заключение
В ходе выполнения курсовой работы был проведен сравнительныйанализ численных методов, таких как итерация, интерполяция, численноедифференцирование и интегрирование, а также метод Эйлера.
В результаты все поставленные задачи были выполнены, целидостигнуты. Мы приобрели навыки в применении различных численных методов напрактике. А также были исследованы различные методы.
Теперь перед нами стоит задача в применении приобретенныхзнаний в своей будущей профессиональной деятельности.
Список использованной литературы
1. Р.Ф. Хемминг «Численные методы (для научных работников и инженеров)».- Москва, 1972.
2. А.А. Амосов, А.Ю. Дубинский, Н.В. Копченова «Вычислительные методыдля инженеров». — Москва, «Высшая школа», 1994.
3. Ф.В. Формалев, Д.Л. Ревизников «Численные методы». — М.: ФИЗМАТЛИТ,2004.
4. Е.А. Волков. Численные методы: Учеб. Пособие для вузов — М.: Наука. Гл. ред.физ-мат. лит., 1987. — 248 с.