Создание программы для решения нелинейных уравнений

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

Міністерство освіти та науки України

Житомирський державний технологічний університет

 

 

 

 

 

 

 

 

 

 

 

 

Звіт до розрахункової роботи

з предмету Емпіричні методи програмної інженерії

 

 

Виконав: К. Д. Саєцький

Перевірив: В. О. Скачков

 

 

 

 

 

 

 

Житомир 2011 р.

 

Содержание

 

1. Задание

. Разработка программы

.1 Теоретические сведения для решения задачи

. Тестирование программы

. Дополнения

.1 Руководство пользователя

.2 Листинг программы

Выводы

 

1. Задание

 

Реализовать доступными методами программу для ПК, которая находит решение нелинейного уравнения следующими способами:

Методом Ньютона

Методом Хорд

Модифицированным методом Ньютона

Методом простых итераций

Также программа должна иметь возможность ввода пользователем:

-коэффициентов

длину отрезка , его шаг

для задания точности вычислений

В качестве нашего нелинейного уравнения возьмём уравнение:

Производная от данного уравнения:

 

2. Разработка программы

 

.1Теоретические сведения для решения

нелинейный уравнение компьютер программа

Нелинейное уравнение - уравнение, в котором неизвестные величины (числа, функции, векторы и т. д.) входят не только линейным образом.

Метод Ньютона

Метод Ньютона, алгоритм Ньютона (также известный как метод касательных) - это итерационный численный метод нахождения корня (нуля) заданной функции. Поиск решения осуществляется путём построения последовательных приближений и основан на принципах простой итерации. Метод обладает квадратичной сходимостью. Улучшением метода является метод хорд и касательных.

Геометрическая интерпретация

Основная идея метода заключается в следующем: задаётся начальное приближение вблизи предположительного корня, после чего строится касательная к исследуемой функции в точке приближения, для которой находится пересечение с осью абсцисс. Эта точка и берётся в качестве следующего приближения. И так далее, пока не будет достигнута необходимая точность.

Алгоритм

1. Задается начальное приближение x0.

. Пока не выполнено условие остановки, в качестве которого можно взять или (то есть погрешность в нужных пределах), вычисляют новое приближение:

 

 

Условия применения

Рассмотрим ряд примеров, указывающих на недостатки метода.

Если начальное приближение недостаточно близко к решению, то метод может не сойтись.

Если производная не непрерывна в точке корня, то метод может расходиться в любой окрестности корня.

Если не существует вторая производная в точке корня, то скорость сходимости метода может быть заметно снижена.

Если производная в точке корня равна нулю, то скорость сходимости не будет квадратичной, а сам метод может преждевременно прекратить поиск, и дать неверное для заданной точности приближение.

Метод одной касательной

В целях уменьшения числа обращений к значениям производной функции применяют так называемый метод одной касательной.

Формула итераций этого метода имеет вид:

 

 

Суть метода заключается в том, чтобы вычислять производную лишь один раз, в точке начального приближения , а затем использовать это значение на каждой последующей итерации.

Метод хорд

Метод хорд - итерационный численный метод приближённого нахождения корня алгебраического уравнения.

Геометрическое описание

Будем искать корень функции f(x). Выберем две начальные точки C1(x1;y1) и C2(x2;y2) и проведем через них прямую. Она пересечет ось абсцисс в точке (x3;0). Теперь найдем значение функции с абсциссой x3. Временно будем считать x3 корнем на отрезке [x1;x2]. Пусть точка C3 имеет абсциссу x3 и лежит на графике. Теперь вместо точек C1 и C2 мы возьмём точку C3 и точку C2. Теперь с этими двумя точками проделаем ту же операцию и так далее, то есть будем получать две точки Cn + 1 и Cn и повторять операцию с ними. Отрезок, соединяющий последние 2 точки, пересекает ось абсцисс в точке, значение абсциссы которой можно приближённо считать корнем. Эти действия нужно повторять до тех пор, пока не получим значение корня с нужным приближением.

Критерий сходимости

Если дважды непрерывно дифференцируемая функция и знак сохраняется на рассматриваемом промежутке, то полученные приближения будут сходиться к корню монотонно. Если корень уравнения находится на отрезке , производные и на этом промежутке непрерывны и сохраняют постоянные знаки и , то можно доказать, что погрешность приближенного решения стремится к нулю при n>?, то есть метод сходится и сходится со скоростью геометрической прогрессии (при этом говорят, что он имеет линейную скорость сходимости.

Метод простой итерации

В основе метода заложено понятие сжимающего отображения. Говорят, что функция осуществляет сжимающее отображение на , если

 

.

.

 

Если - сжимающее отображение на , то:

.- корень;

.итерационная последовательность сходится к этому корню;

.для очередного члена справедливо

Поясним смысл параметра . Согласно теореме Лагранжа имеем:

 

 

Отсюда следует, что . Таким образом, для сходимости метода достаточно, чтобы

.

и так далее, пока

Алгоритм