Программирование в пакете MATHCAD: Решение нелинейных уравнений и их систем

Автор работы: Пользователь скрыл имя, 05 Декабря 2013 в 22:38, курсовая работа

Описание работы

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

Содержание работы

Введение 4
1 Решение уравнений с одной переменной 6
1.1Постановка задачи 6
1.2Отделение корней 7
1.3Метод половинного деления 7
1.4Метод простой итерации 10
1.5Оценка погрешности метода простой итерации 12
1.6Преобразование уравнения к итерационному виду 13
1.7Решение уравнений методом простой итерации в пакете mathcad 13
1.8Метод хорд 15
1.9Метод касательных 18
2 Методы решения систем нелинейных уравнений 21
2.1Векторная запись нелинейных систем. Метод простых итераций 21
2.2Метод Ньютона решения систем нелинейных уравнений 24
2.3Решение нелинейных систем методами спуска 29
Заключение 36
Список используемых источников 40

Файлы: 1 файл

Решение нелинейных уравнений и их систем в пакете MATHCAD.docx

— 926.01 Кб (Скачать файл)

  ,                                           (2.8)

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

 

    1. Метод Ньютона решения систем нелинейных уравнений

 

Для решения системы (2.3) будем пользоваться методом последовательных приближений. Предположим, известно е приближение

,

одного из изолированных корней  векторного уравнения (2.2). Тогда точный корень уравнения (2.2) можно представить в виде:       
                                                   ,                                       (2.9)

где – поправка (погрешность корня). Подставляя выражение (2.9) в (2.2), имеем:

 .                                  (2.10)

Предполагая, что функция  непрерывно дифференцируема в некоторой выпуклой области, содержащей и , разложим левую часть уравнения (2.10) по степеням малого вектора , ограничиваясь линейными членами:

   ,            (2.11)

или, в  развернутом виде,

      (2.12)

Из формул (2.11) и (2.12) видно, что под производной следует понимать матрицу Якоби системы функций  относительно переменных , т. е.

,

или в  краткой записи:

 

поэтому формула (2.12) может быть записана в следующем виде:

 .                              (2.13)

Если  то

                              (2.14)

Отсюда видно, что метод Ньютона решения системы (2.1) состоит в построении итерационной последовательности:

                         (2.15)

где

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

Пример 2.1

Найти методом  Ньютона приближенное положительное  решение системы уравнений:

 

исходя из начального приближения .

Полагая:

 

имеем:

 

Отсюда:

 

Составим  матрицу Якоби:

 

Имеем:

 

причем

 

Следовательно, матрица — неособенная. Вычисляем обратную ей матрицу:

 

По формуле (2.15) получаем первое приближение:

 

 

 

Аналогично  находятся дальнейшие приближения. Результаты вычислений приведены в таблице 2.1.

 

Таблица 2.1 – Последовательные приближения корней

i

x

y

z

0

0,5

0,5

0,5

1

0,875

0,5

0,375

2

0,78981

0,49662

0,36993

3

0,78521

0,49662

0,36992


 

Останавливаясь на приближении, будем иметь:

х = 0,7852; у = 0,4966; z = 0,3699.

 

Пример 2.2

Решить систему двух нелинейных уравнений 

 

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

Решение

                        Рисунок 2.1 – Задание координатной сетки

 

  1. Зададим координатную сетку и вычислим значения координат и в узлах сетки (рисунок 2.1).

Рисунок 2.2 – График функции и карта линий уровня

 

  1. Построим график функции и карты линий уровня (рисунок 2.2) (на которых наглядно видно, что данная система имеет решение, и причем единственное) с использованием панели Graph (рисунок 2.3).

 

 

Рисунок 2.3 – Панель Graph

 

  1. Точки пересечения линий одинакового уровня дают решение данной системы уравнений.
  2. Зададим начальное приближение переменных:

 

Рисунок 2.4 – Вектор–функция, задающая систему уравнений

 

  1. Зададим функцию, содержащую решение системы уравнений

Рисунок  2.5 – Функция, возвращающая решение  системы методом Ньютона

 

  1. Зададим функцию (рисунок 2.5), реализующую метод Ньютона (функция  возвращает таблицу, содержащую значения координат

на каждом шаге итерации и соответствующие  значения координат вектор–функции).

 

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

  1. Проверяем решение системы нелинейных уравнений с помощью блока Given...Minerr (рисунок 2.6).

 

 

Рисунок  2.6 – Проверка численного решения при помощи встроенных функций  пакета Mathcad

 

Ответ:   .

 

    1. Решение нелинейных систем методами спуска

 

Общий недостаток всех рассмотренных выше методов  решения систем нелинейных уравнений состоит в локальном характере сходимости, затрудняющем их применение в случаях (достаточно типичных), когда существуют проблемы с выбором начального приближения, обеспечивающего сходимость итерационной вычислительной процедуры. В этих случаях можно использовать численные методы оптимизации –  раздела вычислительной математики, выделяемого в самостоятельную дисциплину. Для использования наглядной геометрической интерпретации приводимых ниже рассуждений и их результатов ограничимся, как и в предыдущем пункте, рассмотрением системы, состоящей из двух уравнений с двумя неизвестными:

                                              (2.16)

Из функций , системы (2.16) образуем новую функцию:

                               (2.17)

Так как эта функция неотрицательная, то найдется точка (вообще говоря, не единственная) такая что:

 

 

Рисунок 2.4 – Пространственная интерпретация  метода наискорейшего спуска для  функции (2.17)

 

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

 то точка – истинное решение системы (2.16), поскольку

 

 

Последовательность точек  – приближений к точке минимума функции – обычно получают по рекуррентной формуле:

                                  (2.18)

где – вектор, определяющий направление минимизации, а – скалярная величина, характеризующая величину шага минимизации (шаговый множитель). Учитывая геометрический смысл задачи минимизации функций двух переменных – "спуск на дно" поверхности (рис. 2.4), итерационный метод (2.18) можно назвать методом спуска, если вектор при каждом является направлением спуска (т. е. существует такое , что ) и если множитель подбирается так, чтобы выполнялось условие релаксации < означающее переход на каждой итерации в точку с меньшим значением минимизируемой функции.

Таким образом, при построении численного метода вида (2.18) минимизации функции следует ответить на два главных вопроса: как выбирать

направление спуска и как регулировать длину шага в выбранном направлении с помощью скалярного параметра – шагового множителя ? Приведем простые соображения по этому поводу.

При выборе направления спуска естественным является выбор такого направления, в котором минимизируемая функция убывает наиболее быстро.

 

Рисунок 2.5 – Траектория наискорейшего спуска для функции (2.17)

 

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

 

– антиградиент функции  Таким образом, из семейства методов (2.18) выделяем градиентный метод:

 

 

                            (2.19)

Оптимальный шаг в направлении антиградиента – это такой шаг, при котором значение – наименьшее среди всех других значений в этом фиксированном направлении, т. е. когда точка является точкой условного минимума. Следовательно, можно рассчитывать на наиболее быструю сходимость метода (2.19), если полагать в нем

.         (2.20)

Такой выбор  шагового множителя, называемый исчерпывающим  спуском, вместе с формулой (2.19) определяет метод наискорейшего спуска.

Геометрическая  интерпретация этого метода хорошо видна из рисунка 2.4, 2.5. Характерны девяностоградусные изломы траектории наискорейшего спуска, что объясняется исчерпываемостью спуска и свойством градиента (а значит, и антиградиента) быть перпендикулярным к линии уровня в соответствующей точке.

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

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

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

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

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

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

 

где при всех .

 

Разработан  ряд методов решения экстремальных  задач, которые соединяют в себе низкую требовательность к выбору начальной  точки и высокую скорость сходимости. К таким методам, называемым квазиньютоновскими, можно отнести, например, метод переменной метрики (Дэвидона–Флетчера–Пауэлча), симметричный и положительно определенный методы секущих (на основе формулы пересчета Бройдена).

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

 

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

 

Замечание 2. Для решения – мерной системы (2.1) следует свести задачу к решению экстремальной задачи:

 

Рассмотрим  далее примеры реализации некоторых  алгоритмов поиска экстремумов функций, зависящих от нескольких переменных в пакете Mathcad.

Информация о работе Программирование в пакете MATHCAD: Решение нелинейных уравнений и их систем