3
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ государственное БЮДЖЕТНОЕ
образовательное учреждение
высшего образования
«НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
__________________________________________________________________
Кафедра вычислительной техники
ОТЧЁТ
по лабораторной работе №3
«Численные методы решения систем нелинейных уравнений»
по дисциплине: «Вычислительная математика»
Выполнили: Проверил:
Студенты гр. АВТ-341, АВТФ
Калмыкова В. С. Шелудько В. И.
Кардаполова В. С.
«28» марта 2025 г. «28» марта 2025 г.
_________________ _________________
(подпись) (подпись)
Новосибирск 2025
Цель работы: сформировать представление о методах решения систем
нелинейных уравнений, привить умения составлять и применять алгоритмы для решения таких систем уравнений, выработать навыки в использовании программных средств для
решения систем уравнений.
Постановка задачи
1.В соответствии с вариантом контрольного задания исследуйте существование и найдите
решение системы нелинейных уравнений с точностью не ниже 0,00001 тремя методами из
таблицы1, например:
• методом итераций;
• методом Ньютона;
• по выбору студента или с модификацией одного из обязательных 1-3.
2.Написать программы, реализующие алгоритмы решения систем нелинейных уравнений методами согласно варианту Табл. 1
3. Для дублирования решений заданной системы нелинейных уравнений применить существующие стандартные функции МСАД.
4. Для каждого метода и способа решения исследовать ресурсоемкость программ вычислений, а также факторы, влияющие на точность результатов и устойчивость
вычислений.
5. Сравнить способы решения систем уравнения по быстродействию, точности и зависимости от начальных условий; выбрать наиболее эффективный вычислительный процесс поставленной задачи.
6. Проанализировать результаты работы, сделать выводы и дать рекомендации.
Исходные данные
Вариант |
Уравнение |
Методы |
16 |
|
1, 2, по выбору |
Описание численных методов
1. Метод простых итераций
Условия метода: требует, чтобы исходное уравнение f(x) = 0 было приведено к форме x = ϕ(x)
Алгоритм метода:
Инициализация:
Задайте начальное приближение x(0).
Итерации:
Для каждой итерации k вычисляйте новое приближение: x(k+1)=g(x(k))
Здесь g(x(k)) — вектор функций, полученный из системы.
Проверка сходимости:
Проверяйте, достигнуто ли требуемое значение точности:
∥ x(k+1)−x(k)∥<ϵ
Если условие выполнено, завершите итерации.
Вывод результата:
После завершения итераций выводите найденное приближение x(k+1)
Рис 1. Реализация метода простых итераций в MathCad
Для получения корня по методу простых итераций понадобилось 7 итераций.
2. Метод Зейделя
Алгоритм метода:
Инициализация:
Задайте начальное приближение x(0).
Итерации:
Для каждого уравнения i от 1
до n (где n — количество
уравнений):
Здесь k — номер итерации.
Проверка сходимости:
Проверяйте, достигнуто ли требуемое значение точности: ∥x(k+1)−x(k)∥<ϵ
Если условие выполнено, завершите итерации.
Вывод результата:
После завершения итераций выводите найденное приближение x(k+1).
Рис 2. Реализация метода Зейделя в MathCad
Для получения корня по методу Зейделя понадобилось 5 итераций.
3. Метод Ньютона
Условие метода:
Непрерывность и дифференцируемость:
Функции F(x)=
должны быть непрерывными и дифференцируемыми
в окрестности корня.
Наличие корня:
В интервале, где мы ищем корень, функции должны менять знак, что может быть проверено с помощью начальных приближений.
Обратимость Якобиана:
Якобиан J(x) функции F(x) должен быть невырожденным (т.е. его определитель не должен равняться нулю) в окрестности корня.
Алгоритм метода:
Инициализация:
Выберите начальное приближение x(0)
Итерации:
Для каждой итерации k вычисляйте новое приближение по формуле:
Здесь J(x(k) )— матрица Якоби, а F(x(k) )— вектор значений функций.
Проверка сходимости:
Проверяйте, достигнуто ли требуемое значение точности:
∥x(k+1) −x(k))∥<ϵ
Если условие выполнено, завершите итерации.
Вывод результата:
После завершения итераций выводите найденное приближение x(k+1)
Рис 2. Реализация метода Ньютона в MathCad
Для получения корня по методу Ньютона понадобилось 2 итерации.
Вывод:
Самым быстрым оказался метод Ньютона, на поиск решения ему понадобилось 2 итерации. Наиболее точным также оказался метод Ньютона. Метод Зейделя как модификация метода простых итераций показал результат по количеству итераций лучше, что и требовалось ожидать
