Программирование в пакете 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 Кб (Скачать файл)

Рассмотрим два последовательных приближения  и .

По теореме  Лагранжа о конечных приращениях  имеем

 

Переходя  к модулям и принимая во внимание условие 3 теоремы 1.2, получим

 

При имеем         

                          (1.7)

                                                               … 

 

Рассмотрим  ряд

 

          (1.8)

Составим  частичные суммы этого ряда

 

Заметим, что я частичная сумма ряда (1.8) совпадает с n – ым членом итерационной последовательности (1.5), т. е.

                                                   (1.9)

Сравним ряд (1.8) с рядом

                   (1.10)

Заметим, что в силу соотношения (1.7) абсолютные величины членов ряда (1.8) не превосходят соответствующих членов ряда (1.10). Но ряд (1.10) сходится как бесконечно убывающая геометрическая прогрессия (по условию ). Следовательно, и ряд (1.8) сходится, т. е. его частичная сумма (1.9) имеет предел. Пусть . В силу непрерывности функции получаем (по формуле 1.6):

 

т. е. – корень уравнения .

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

 

    1. Оценка погрешности метода простой итерации

 

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

.

Принимая  во внимание (1.8) и (1.9), имеем

 (1.11)

Сравним (1.11) с остатком ряда (1.9):

                        (1.12)

Учитывая  оценку (1.7), получаем

||.

 

Таким образом, для оценки погрешности – го приближения получается формула

                                           (1.13)

На практике удобнее использовать модификацию формулы (1.13).

Примем за нулевое приближение (вместо). Следующим приближением будет (вместо ). Так как то

                                       (1.14)

При заданной точности ответа итерационный процесс прекращается, если

.

 

    1. Преобразование уравнения к итерационному виду

 

Уравнение =0 преобразуется к виду, пригодному для итерационного процесса, следующим преобразованием

 

где отличная от нуля константа.

В этом случае

                               (1.15)

Функция должна удовлетворять условиям теоремы 1.2. Дифференцируя (1.15), получим

                                          (1.16)

Для выполнения условия 3 теоремы 1.2 достаточно подобрать так, чтобы для всех

                                       (1.17)

 

    1. Решение уравнений методом простой итерации в пакете mathcad

 

Продемонстрируем использование метода простой итерации на примере нахождения корня уравнения

 

  1. Задание функции, стоящей в правой части (1.1):

 

  1. Задание функции в соответствии с (1.15):

 

  1. Задание функции в соответствии с (1.16):

.

  1. Построение графиков функций (рисунок 1.7).

 

 

Рисунок 1.7 – Графики функций и

 

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

Рисунок 1.8 – Функция, реализующая  вычислительную схему метода

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

 

 

  1. Задание функции, стоящей в правой части (1.15):

 

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

 

  1. Визуализация итерационного процесса (рисунок 1.9):

 

Рисунок 1.9 – Зависимость значения корня уравнения от номера шага

итерационного процесса

 

  1. Вывод точного значения корня: .
  2. Вывод значения функции: .

 

    1. Метод хорд

 

Пример 1.2

Решить уравнение  методом хорд с точностью

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

Воспользуемся графическим методом. Построим график функции и найдем точки пересечения его с осью Ох (рисунок 1.10).

Рисунок 1.10 – Отделение корней графически

 

Получили  два интервала: Интервал, в котором мы будем уточнять корень –

  1. Уточняем корни. Находим первую производную функции :

 

  1. Определяем знаки на отрезке :

 

Рисунок 1.11 – Проверка критерия достижения заданной точности

 

Значит, на данном отрезке действительно  существует корень нашего уравнения.

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

Рисунок 1.12 – Функция, возвращающая значения корня уравнения методом хорд. Аргументы функции – концы отрезка; – погрешность вычислений

 – функция  первой производной

 

  1. Проверяем решение (рисунок 1.13)

Рисунок 1.13 – Проверка решения уравнения встроенными функциями Mathcad

Ответ: корень уравнения по методу хорд равен 1,927 с точностью 0,001, найденный на третьем шаге.

 

    1. Метод касательных

 

Пример 1.3

Уточнить методом касательных корень уравнения

 

на отрезке  с точностью .

  1. Отделяем корни уравнения.
  2. Определяем неподвижную точку.

Для этого  определим знаки функции и  второй производной на отделенном интервале  Для этого составим функцию, проверяющую условие неподвижности точки (рисунок 1.14).

 

Рисунок 1.14 – Определение неподвижной точки

 

Тогда подвижной  точкой будет точка .

  1. Вычисляем значение итерационной последовательности с использованием рекуррентной формулы метода касательных (рисунок 1.15).

 

Рисунок 1.15 – Построение итерационной последовательности по методу касательных

 

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

 при , т. к. .

  1. Создаем функцию, реализующую метод касательных (аналогично методу хорд).
  2. Проверяем полученные результаты.

Отметим, что в пакете Mathcad имеется еще  несколько функций, позволяющих решать уравнения, например, функция solve, вызываемая с панели Symbolic (рисунок 1.16).

 

Рисунок 1.16 – Панель Symbolic

 

Пример использования  команды solve представлен на рисунке  1.17.

Рисунок 1.17 – Решение уравнения с помощью команды solve

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

Системы нелинейных уравнений можно  решать различными методами, такими как: метод простых итераций, метод Ньютона, методами спуска. Рассмотрим вышеперечисленные методы.

 

    1. Векторная запись нелинейных систем. Метод простых итераций

 

Пусть требуется  решить систему уравнений:

                                         (2.1)

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

Введя обозначения:

 

 

=

 

 

 

систему (2.1) можно заменить одним уравнением:

,                                                        (2.2)

относительно  векторной функции  векторного аргумента .

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

Начнем  изучение методов решения нелинейных систем с метода простых итераций.

Пусть система (2.1) преобразована к следующей эквивалентной нелинейной системе:

                                        (2.3)

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

 

= .                           (2.4)

Для этой задачи о неподвижной точке нелинейного  отображения запишем формальное рекуррентное равенство:

                                             (2.5)

где которое определяет метод простых итераций для задачи

(2.3).

Если начать процесс построения последовательности с некоторого вектора   и продолжить вычислительный процесс по формуле (2.5), то при определенных условиях данная последовательность со скоростью геометрической прогрессии будет приближаться к вектору

– неподвижной  точке отображения .

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

Теорема 2.1. Пусть функция и замкнутое множество таковы, что:

  1. для любого
  2. для любого

Тогда имеет в М единственную неподвижную точку последовтельность определяемая (2.5), сходится при любом справедливы оценки

 для любого

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

Теорема 2.2. Пусть   дифференцируема в замкнутом шаре причём Тогда если центр и радус r шара S таковы, что то справедливо заключение теоремы 2.1 .

Запишем метод последовательных приближений (2.5) в развернутом виде:

                                (2.6)

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

               (2.7)

Заметим, что, как и для линейных систем, отдельные уравнения в (2.7) неравноправны, т. е. перемена местами уравнений системы (2.3) может изменить в некоторых пределах число итераций и вообще ситуацию со сходимостью последовательности итераций. Для того чтобы применить метод простых итераций (2.6) или его зейделеву модификацию (2.7) к исходной системе (2.1), необходимо сначала тем или иным способом привести эту систему к виду (2.3). Это можно сделать, например, умножив (2.2) на неособенную матрицу А и прибавив к обеим частям уравнения вектор неизвестных. Полученная система

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