Решение систем нелинейных уравнений методом Бройдена (48821)

Посмотреть архив целиком

Федеральное агентство по образованию

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Факультет автоматики и электромеханики

Кафедра «Автоматизированные и вычислительные системы»

Специальность «Вычислительные машины, комплексы, системы и сети»








КУРСОВАЯ РАБОТА

по дисциплине «Вычислительная математика»

Тема работы «Решение систем нелинейных уравнений методом Бройдена»












Воронеж 2009


РЕФЕРАТ


Пояснительная записка 26 с., 14 рисунка, 2 источника. Ключевые слова: МЕТОД БРОЙДЕНА, РЕШЕНИЕ СИСТЕМ МЕТОДОМ БРОЙДЕНА, РЕШЕНИЕ СИСТЕМ НЕЛИНЕЙНЫХ УРАВНЕНИЙ.

Объект исследования или разработки – решение систем нелинейных уравнений методом Бройдена.

Цель работы – создать программу, иллюстрирующую решение систем нелинейных уравнений методом Бройдена и исследовать результат ее работы.

Полученные результаты – листинг полученный программы, проверка соответствия найденных решений точным решениям заданной системы нелинейных уравнений.

Основные конструктивные, технологические и технико-эксплуатационные характеристики - персональная ЭВМ.


Содержание


Реферат

Введение

1. Алгоритм бройдена

1.1 Входные данные для алгоритма Бройдена

1.2 Содержание алгоритма Бройдена

1.3 Метод исключения Гаусса для решения СЛАУ

1.4 Вывод формулы пересчета Бройдена

2. Разработка программы и иследование результата ее работы

Заключение

Список литературы

Приложение


ВВЕДЕНИЕ


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

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

,

где - нелинейные функции от , в тождество.

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

Для большинства практических задач отсутствует аналитическое выражение для функции , а значит, и для . В этом случае приходится прибегать к аппроксимации якобиана. Одним из способов такой аппроксимация является метод Бройдена [1].

В курсовой работе будет рассматриваться метод решения Бройдена для систем нелинейных уравнений.


1. АЛГОРИТМ БРОЙДЕНА.


1.1 Входные данные для алгоритма Бройдена


Входными данными для алгоритма Бройдена являются вектор начального решения, начальная матрица Якоби и заданная точность.


1.2 Содержание алгоритма Бройдена


Пусть необходимо решить систему уравнений с начальным вектором . Основной сложностью при использовании метода Бройдена является выбор начальной аппроксимации матрицы Якоби. На практике для обеспечения хорошего начала итерационного процесса один единственный раз используют конечно-разностную аппроксимацию производных, а на следующих шагах матрица аппроксимируется по методу Бройдена.

Для начального вектора формируется матрица Якоби на основе конечно-разностной аппроксимации производных и аналогично методу Ньютона находится вектор очередного приближения из решения системы уравнений. . На следующих шагах поиска матрица Якоби рассчитывается по формуле пересчета Бройдена


,


где . И весь процесс поиска решения повторяем по той же самой схеме до тех пор, пока не будет получено решение c заданной точностью [1].

Поскольку необходимо решить линейное уравнение, то рассмотрим метод решения Гаусса.


1.3 Метод исключения Гаусса для решения СЛАУ


Суть всех методов исключения состоит в приведении исходной системы уравнений к системе более простого вида, для которой легко найти решение. К этим методам можно отнести метод исключения Гаусса, который имеет много вычислительных схем и, как показали исследования, является идеальным алгоритмом для решения СЛАУ.

Рассмотрим сначала самую простую схему – схему единственного деления. Применение схемы единственного деления продемонстрируем на примере СЛАУ 4- го порядка

Разделив первое уравнение системы на , получим



Из второго уравнения системы вычтем первое, умноженное на коэффициент при , то есть на . В результате получаем:


=


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

;

;

.

К выделенной системе применим тот же алгоритм, что и к исходной. В результате получаем

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


, , .


1.4 Вывод формулы пересчета Бройдена

В процессе построения методов Ньютона и секущих решения нелинейного скалярного уравнения функция f(x) в окрестности текущей точки

подменяется линейной функцией (аффинной моделью)

. Приравнивание к нулю последней, т.е. решение линейного уравнения

, порождает итерационную формулу для вычисления приближений к корню уравнения.

Если потребовать, чтобы заменяющая функцию f(x) вблизи точки аффинная модель имела в этой точке одинаковую с ней производную, то, дифференцируя, получаем значение коэффициента , подстановка которого в приводит к известному методу Ньютона. Если же исходить из того, что наряду с равенством

должно иметь место совпадение функций f(x) и в предшествующей точке т.е. из равенства , , получаем коэффициент

, превращающий в известную формулу секущих.

Равенство , переписанное в виде

, называют соотношением секущих в Оно легко обобщается на n -мерный случай и лежит в основе вывода метода Бройдена. Опишем этот вывод.

В n-мерном векторном пространстве соотношение секущих представляется равенством


,


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

обретает более короткую запись . Аналогично одномерному случаю, а именно, по аналогии с формулой , будем искать приближения к решению

векторного уравнения по формуле . Обратимую n x n-матрицу в ней нужно подобрать так, чтобы она удовлетворяла соотношению секущих . Но это соотношение не определяет однозначно матрицу : глядя на равенство , легко понять, что при n>1 существует множество матриц

, преобразующих заданный n-мерный вектор в другой заданный вектор (отсюда - ясность в понимании того, что могут быть различные обобщения одномерного метода секущих).

При формировании матрицы будем рассуждать следующим образом. Переходя от имеющейся в точке аффинной модели функции F(x) к такой же модели в точке

мы не имеем о матрице линейного преобразования

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

равенство и преобразуем результат, привлекая соотношение секущих

. Имеем:



Представим вектор в виде линейной комбинации фиксированного вектора определенного в , и некоторого вектора t, ему ортогонального: ,

Подстановкой этого представления вектора в разность получаем другой ее вид

Анализируя выражение , замечаем, что первое слагаемое в нем не может быть изменено, поскольку - фиксированный вектор при фиксированном k. Поэтому минимальному изменению аффинной модели будет отвечать случай, когда второе слагаемое в будет нуль-вектором при всяких векторах t, ортогональных векторам , т.е. следует находить из условия

Непосредственной проверкой убеждаемся, что условие будет выполнено, если матричную поправку взять в виде одноранговой nхn-матрицы .

Таким образом, приходим к так называемой формуле пересчета С. Бройдена



2. РАЗРАБОТКА ПРОГРАММЫ И ИСЛЕДОВВАНИЕ РЕЗУЛЬТАТА ЕЕ РАБОТЫ


Задача. Разработать программу, реализующую метод Бройдена.

Структура программы. Программа была разработана в интегрированной среде разработке приложений Microsoft Visual Studio 2008 на языке программирования C#, проект программы Console Application. В ходные данные программы начальный вектор решения, начальная матрица Якоби и удовлетворяющая погрешность. Программа решает систему уравнений . Если программа не находит решения удовлетворяющего требуемой точности за 10 итераций, то поиск решения прекращается, а так же если процесс расходится (в соответствии с приложением А).

Введем матрицу Якоби , погрешность 0,3 начальное решение является точным решение. На 1 итерации получаем результат решения (рисунок 1).


Рисунок 1 – Первый пример работы программы


Результат точное решение на 1 шаге. Попробуем задать начальное решение отличное от точного (рисунок 2).


Случайные файлы

Файл
45754.rtf
114817.rtf
157709.rtf
132401.rtf
17893.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.