Решение нелинейных уравнений
Задача нахождения корней нелинейных уравнений вида Методы решения нелинейных уравнений подразделяются на прямые и итерационные. Прямые методы позволяют записать корни в виде некоторого конечного соотношения. Такие методы для решения ряда трансцендентных, а также простейших алгебраических уравнений известны из школьного курса алгебры. Однако встречающиеся на практике уравнения не удается решить столь простыми методами. Для их решения применяются итерационные методы, при которых алгоритм нахождения корня уравнения в общем случае включает два этапа: - отыскания приближенного значения корня или содержащего его отрезка; - уточнения приближенного значения до некоторой заданной степени точности.
Общие сведения
Пусть задана непрерывная функция
В первом случае итерационный процесс заканчивается, как только длина текущего интервала становится достаточно малой (например, ½bn-an½<e). Во втором случае условием остановки вычислений является малость очередного приращения hn=xn-xn-1, ½hn½<e. В обоих случаях параметр e определяет момент остановки вычислений. Иногда в качестве условия остановки используют условие ½ Для каждого итерационного метода можно указать некоторые условия сходимости. Однако не всегда легко проверить или гарантировать выполнение этих условий. Кроме того необходимо учесть особенности машинных вычислений при реализации итерационных методов. На практике эти затруднения обходят, вводя ограничение nmax на число итераций. Такое ограничение предохраняет от "зацикливания" метода, а также позволяет выявить практическое отсутствие сходимости вычислительного процесса. Целью лабораторных работ, приводимых в данном разделе, является изучение перечисленных выше четырех итерационных методов приближенного решения нелинейных уравнений, при этом каждая работа посвящена одному из них. Для выполнения работ предлагается использовать набор программ - функций, реализующих конкретные численные методы, а также программу - функцию Round, позволяющую моделировать ошибки в исходных данных. Указанные программы (язык C) размещаются в директории LIBR1.
Метод бисекции (Лабораторная работа №3)
Если найден отрезок [a,b], такой, что Рассмотрим один шаг итерационного процесса. Пусть на (n-1)-м шаге найден отрезок [an-1, bn-1]Ì[a, b], такой, что an=an-1, bn=x, если an=x, bn= bn-1, если Если требуется найти корень с точностью e, то деление пополам продолжается до тех пор, пока длина отрезка не станет меньше 2e. Тогда координата середины отрезка есть значение корня с требуемой точностью e. Метод бисекции является простым и надежным методом поиска простого корня уравнения В лабораторной работе №3 предлагается, используя программы - функции BISECT и Round из файла methods.cpp (файл заголовков metods.h, директория LIBR1), найти корень уравнения Выполнение работы осуществляется по индивидуальным вариантам заданий (нелинейных уравнений), приведенным в подразделе 3.6. Номер варианта для каждого студента определяется преподавателем.
Порядок выполнения работы должен быть следующим: 1) Графически или аналитически отделить корень уравнения 2) Составить подпрограмму вычисления функции 3) Составить головную программу, содержащую обращение к подпрограмме f(x), BISECT, Round и индикацию результатов. 4) Провести вычисления по программе. Построить график зависимости числа итераций от Eps. 5) Исследовать чувствительность метода к ошибкам в исходных данных. Ошибки в исходных данных моделировать с использованием программы Round, округляющей значения функции с заданной точностью Delta. Текст программы-функции BISECT, предназначенной для решения уравнения
Метод хорд (Лабораторная работа №4)
Пусть найден отрезок [a, b], на котором функция
Сначала находится уравнение хорды АВ: Для точки пересечения ее с осью абсцисс (x=c0, y=0) получается уравнение Далее сравниваются знаки величин Алгоритмы методов бисекции и хорд похожи, однако метод хорд в ряде случаев дает более быструю сходимость итерационного процесса, причем успех его применения, как и метода бисекции, гарантирован. В лабораторной работе №4 предлагается, используя программы - функции HORDA и Round из файла methods.cpp (файл заголовков metods.h, директория LIBR1), найти корень уравнения
Для данной работы, как и для лабораторной работы №3 задаются индивидуальные варианты нелинейных уравнений (см. подраздел 3.6). Порядок выполнения лабораторной работы №4: 1) Графически или аналитически отделить корень уравнения 2) Составить подпрограмму - функцию вычисления функции 3) Составить головную программу, вычисляющую корень уравнения 4) Провести вычисления по программе. Теоретически и экспериментально исследовать скорость сходимости и обусловленность метода. В подразделе 3.7 приводится текст программы - функции HORDA, предназначенной для решения уравнения Метод Ньютона (Лабораторная работа № 5)
В случае, когда известно хорошее начальное приближение решения уравнения Метод Ньютона допускает простую геометрическую интерпретацию (рис. 2). Если через точку с координатами Для оценки погрешности n-го приближения корня предлагается пользоваться неравенством где М2-наибольшее значение модуля второй производной
Рассмотрим один шаг итераций. Если на (n-1)-м шаге очередное приближение xn-1 не удовлетворяет условию окончания процесса, то вычисляются величины
В лабораторной работе № 5 предлагается, используя программы-функции NEWTON и ROUND из файла methods.cpp (файл заголовков methods.h, директория LIBR1), найти корень уравнения Для данной работы вид функции Порядок выполнения лабораторной работы №5. 1) Графически или аналитически отделить корень уравнения 2) Составить подпрограммы - функции вычисления 3) Составить головную программу, вычисляющую корень уравнения 4) Выбрать начальное приближение корня x0 из [Left, Right] так, чтобы 5) Провести вычисления по программе. Исследовать скорость сходимости метода и чувствительность метода к ошибкам в исходных данных. Для приближенного вычисления корней уравнения
Метод простых итераций (Лабораторная работа №6)
Метод простых итераций решения уравнения Рассмотрим один шаг итерационного процесса. Исходя из найденного на предыдущем шаге значения xn-1, вычисляется y= j(xn-1). Если Для применения метода простых итераций определяющее значение имеет выбор функции В лабораторной работе № 6 предлагается, используя программы-функции ITER и Round из файла methods.cpp (файл заголовков methods.h, директория LIBR1), найти корень уравнения Для данной работы вид функции Порядок выполнения лабораторной работы №6 должен быть следующим. 1) Графически или аналитически отделить корень уравнения 2) Преобразовать уравнение 3) Выбрать начальное приближение, лежащее на [Left, Right]. 4) Составить подпрограмму для вычисления значений 5) Составить головную программу, вычисляющую корень уравнения и содержащую обращение к программам 6) Провести вычисления по программе. Исследовать скорость сходимости и обусловленность метода. Текст программы - функции ITER, позволяющей вычислять корни уравнения x=
3.6. Курсовая работа по дисциплине и варианты заданий
Лабораторные работы, описанные в настоящем разделе, целесообразно объединять для выполнения курсовой работы, нацеленной на сравнительную оценку различных методов приближенного решения нелинейных уравнений. Типовое задание на курсовую работу формулируется следующим образом. Задание на курсовую работу по дисциплине "Вычислительная математика". Используя программы - функции BISECT, NEWTON, HORDA, ITER, Round из файла methods.cpp (файл заголовков methods.h, директория LIBR1), найти корень уравнения Исследуйте обусловленность методов и зависимость числа итераций от точности результата Eps при изменении Eps от 0.0 до 0.000001. Порядок выполнения курсовой работы Графически или аналитически отделить корень уравнения Составить подпрограмму- функцию вычисления функции Составить головную программу, содержащую ввод исходных данных, обращение к подпрограммам BISECT, NEWTON, HORDA, ITER вывод результатов. Выполнить вычисления по программе. Построить графики зависимости числа итераций, необходимых для достижения заданной точности Eps, от величины Eps, а также достижимой точности результатов от точности Delta задания функции Теоретически и экспериментально сравнить методы бисекции, Ньютона, хорд и итераций по скорости сходимости и степени обусловленности. Результаты оформить в виде отчета, содержащего постановку задачи, тексты разработанных программ, результаты теоретического и экспериментального анализа в виде таблиц и графиков, выводы. Вид функции
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|