Автор работы: Пользователь скрыл имя, 10 Января 2013 в 10:46, курсовая работа
В отличие от систем линейных уравнений для систем нелинейных уравнений не известны прямые методы решения. Лишь в отдельных случаях систему можно решить непосредственно. Например, для системы из двух уравнений иногда удается выразить одно неизвестное через другое и таким образом свести задачу к решению одного нелинейного уравнения относительно одного неизвестного. Поэтому итерационные методы для нелинейных систем приобретают особую актуальность.
Введение
1.Численные методы решений систем нелинейных уравнений
1.Решение систем нелинейных уравнений
2.Метод Ньютона–Рафсона
3Метод спуска
4.Метод простой итерации и метод Зейделя
2.Задача о провисании цепи
1.Постановка задачи
2.Вывод уравнения цепной линии
3.Вычисление длины плоской линии
3 Программная реализация решений задач
3.1 Программная реализация решения задачи о провисании цепи
3.1.1 Описание программы
3.1.2 Тестирование программы
3.2 Программная реализация метода Ньютона – Рафсона
3.2.1 Описание программы
3.2.2 Тестирование программы
Заключение
Список использованных источников и литературы
Приложение А Листинг программы «Задача о провисании цепи»
Приложение Б Листинг программы «Метод Ньютона – Рафсона»
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
НЕФТЕКАМСКИЙ ФИЛИАЛ
ФЕДЕРАЛЬНОГО ГОСУДАРСТВЕННОГО БЮДЖЕТНОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«БАШКИРСКИЙ ГОСУДАРСТВЕННЫЙ
Экономико-математический факультет Кафедра математического моделирования и информационной безопасности |
КУРСОВАЯ работа
по дисциплине «Системный анализ»
на тему
«Численное решение и программная реализация задачи о провисании цепи»
|
Выполнил: студент 4 курса очной формы обучения группы М-41 Габдрахимова Г.С.______
Научный руководитель: к.ф.-м.н., доц. Сафина Г.Ф. |
Нефтекамск 2012
СОДЕРЖАНИЕ
Введение |
3 |
|
6 |
|
6 |
|
7 |
|
9 |
|
13 |
|
16 |
|
16 |
|
17 |
|
20 |
3 Программная реализация решений задач |
23 |
3.1 Программная реализация решения задачи о провисании цепи |
23 |
3.1.1 Описание программы |
23 |
3.1.2 Тестирование программы |
23 |
3.2 Программная реализация метода Ньютона – Рафсона |
26 |
3.2.1 Описание программы |
26 |
3.2.2 Тестирование программы |
27 |
Заключение |
31 |
Список использованных источников и литературы |
32 |
Приложение А Листинг |
33 |
Приложение Б Листинг программы «Метод Ньютона – Рафсона» |
39 |
ВВЕДЕНИЕ
Решение систем нелинейных уравнений является одной из важных математических задач, возникающих в различных разделах физики, химии, биологии и других областях науки и техники.
В отличие от систем линейных уравнений для систем нелинейных уравнений не известны прямые методы решения. Лишь в отдельных случаях систему можно решить непосредственно. Например, для системы из двух уравнений иногда удается выразить одно неизвестное через другое и таким образом свести задачу к решению одного нелинейного уравнения относительно одного неизвестного. Поэтому итерационные методы для нелинейных систем приобретают особую актуальность.
Методы решений систем нелинейных уравнений были рассмотрены во всех учебниках по численным методам, в том числе в работах В.М. Вержбницкого1, Н.С. Бахвалова2, П.Ф. Фильчакова,3 Дж. Шнабеля, В.И. Киреева и А.В. Пантелеева4. В данных работах содержатся классические разделы численного анализа: метод алгебры, теории приближения функций одной переменной с их приложениями, разностные методы решения задач Коши, численные методы решения уравнений математической физики с двумя и тремя переменными. Приводится большое число пояснительных примеров, имеющих самостоятельную прикладную ценность и служащих справочным материалом.
В книгах Г. Корна, А. Жидкова и Н.С. Дубровской5 изложены методы решений систем линейных уравнений, методы решения нелинейных уравнений, интерполирование и экстраполирование, математическая обработка данных, численное интегрирование и дифференцирование. Теоретический материал иллюстрируется многочисленными примерами.
В книге С.А. Абрамова6 предложен курс программирования, разделенный на несколько частей: начальный курс и дополняющие. Начальный курс представляет собой выборку из языка, по объему и содержанию достаточную для изучения процедурного программирования. Остальные части учебника последовательно дополняют первую, включая специфические разделы, что в общем соответствует курсу объектно – ориентированного программирования, а также некоторые другие, избранные разделы. Специальный раздел посвящен решению задач программными методами.
В отличие от изученных работ по численным методам, решению систем нелинейных уравнений в данной курсовой работе решается задача провисания цепи численными методами и проводится программная реализация этого решения.
Целью курсовой работы является изучение и применение численных методов к задаче о провисании цепи и программная реализация задачи.
В соответствии с целью поставлены следующие задачи:
Методы исследования. Поставленная задача решалась аналитически и с применением вычислений на ЭВМ.
Практическая значимость работы состоит в том, что разработанная программа решения задачи о провисании цепи позволяет определить точные и приближенные значения расстояния цепи от земли и величину “отстояния” этого расстояния от первого столба.
Курсовая работа состоит из введения, трех глав, заключения, списка литературы и приложения. Во введении проведен обзор литературы по теме исследования, указаны цели и задачи работы.
Первая глава посвящена приближенным методам решения систем нелинейных уравнений. Приведены основные положения по методу Ньютона –Рафсона, методу спуска, методу простой итерации и методу Зейделя.
Вторая глава посвящена изучению задачи о провисании цепи. Приведен вывод уравнения цепной линии и вычисление длины плоской линии.
Третья глава содержит программную реализацию задачи о провисании цепи на языке Delphi.
В заключении подведены итоги исследований, сделаны основные выводы.
1.1 Решение систем нелинейных уравнений
Систему нелинейных уравнений с n неизвестными можно записать в виде7
(1.1)
Более коротко, в векторной форме , где – вектор неизвестных величин, – вектор – функция
В редких случаях
для решения такой системы
удается применить метод
В дальнейшем предполагается, что ищется изолированное решение нелинейной системы.
Как и в случае одного нелинейного уравнения, локализация решения может осуществляться на основе специфической информации по конкретной решаемой задаче (например, по физическим соображениям), и с помощью методов математического анализа. При решении системы двух уравнений, достаточно часто удобным является графический способ, когда месторасположение корней определяется как точки пересечения кривых на плоскости .
1.2 Метод Ньютона – Рафсона
Если определено начальное приближение итерационный процесс нахождения решения системы (1.1) методом Ньютона можно представить в виде9:
(1.1.1)
где значения приращений определяются из решения системы линейных алгебраических уравнений, все коэффициенты которой выражаются через известное предыдущее приближение :
В векторно – матричной форме расчетные формулы имеют вид:
(1.1.2)
где вектор приращений находится из решения уравнения (1.1.3).
. (1.1.3)
Здесь – матрица Якоби первых производных вектор – функции
Выражая из (1.1.3) вектор приращений и подставляя его в (1.1.2), итерационный процесс нахождения решения можно записать в виде:
где – матрица, обратная матрице Якоби.
Для уменьшения арифметических действий Рафсон предложил не вычислять обратную матрицу, а вычислять поправки, как решение систем линейных уравнений, поэтому данный метод получил название метода Ньютона – Рафсона.
Использование метода Ньютона предполагает дифференцируемость функций и невырожденность матрицы Якоби ( ). В случае, если начальное приближение выбрано в достаточно малой окрестности искомого корня, итерации сходятся к точному решению, причем сходимость квадратичная.
В практических вычислениях в качестве условия окончания итераций обычно используется критерий
,
где ε – заданная точность.
1.3 Метод спуска
Общий недостаток всех рассмотренных выше методов решения систем нелинейных уравнений состоит в локальном характере сходимости, затрудняющем их применение в случаях, когда существуют проблемы с выбором начального приближения, обеспечивающего сходимость итерационной вычислительной процедуры. В этих случаях можно использовать численные методы оптимизации.10 Для использования наглядной геометрической интерпретации приводимых ниже рассуждений и их результатов ограничимся, рассмотрением системы, состоящей из двух уравнений с двумя неизвестными
(1.3.1)
Из функций , системы (1.3.1) образуем новую функцию
Так как эта функция
не единственная) , такая, что
Следовательно, если тем или иным способом удается получить точку , минимизирующую функцию , и если при этом окажется, что то точка - истинное решение системы (1.3.1), поскольку
Последовательность точек - приближений к точке минимума функции - обычно получают по рекуррентной формуле
где - вектор, определяющий направление минимизации, а - скалярная величина, характеризующая величину шага минимизации (шаговый множитель). Учитывая геометрический смысл задачи минимизации функций двух переменных - «спуск на дно» поверхности (рис. 1.3), итерационный метод (1.3.3) можно назвать методом спуска, если вектор при каждом k является направлением спуска (т.е. существует такое , что ) и если множитель подбирается так, чтобы выполнялось условие релаксации , означающее переход на каждой итерации в точку с меньшим значением минимизируемой функции.
Таким образом, при построении численного метода вида (1.3.2) минимизации функции следует ответить на два главных вопроса: как выбирать направление спуска и как регулировать длину шага в выбранном направлении с помощью скалярного параметра - шагового множителя . Приведем простые соображения по этому поводу.
При выборе направления спуска естественным является выбор такого направления, в котором минимизируемая функция убывает наиболее быстро.
Рисунок 1.3.1 - Пространственная интерпретация метода наискорейшего спуска для функции (1.3.2) |
Рисунок 1.3.2 - Траектория наискорейшего спуска для функции (1.3.2) |
Как известно из математического анализа функций нескольких переменных, направление наибольшего возрастания функции в данной точке показывает ее градиент в этой точке. Поэтому примем за направление спуска вектор
Информация о работе Численное решение и программная реализация задачи о провисании цепи