MainPage/Computatioonal&Mathematics/Labs
Лабораторная работа 1. «Решение системы линейных алгебраических уравнений СЛАУ»
- No варианта определяется как номер в списке группы согласно ИСУ.
- В программе численный метод должен быть реализован в виде отдель- ной подпрограммы/метода/класса, в который исходные/выходные данные передаются в качестве параметров.
- Размерность матрицы n<=20 (задается из файла или с клавиатуры - по выбору конечного пользователя).
- Должна быть реализована возможность ввода коэффициентов матрицы, как с клавиатуры, так и из файла (по выбору конечного пользователя).
Для прямых методов должно быть реализовано:
- Вычисление определителя
- Вывод треугольной матрицы (включая преобразованный столбец В)
- Вывод вектора неизвестных: $x_1, x_2, \cdots, x_n$
- Вывод вектора невязок: $r_1, r_2, \cdots, r_n$
Для итерационных методов должно быть реализовано:
- Точность задается с клавиатуры/файла
- Проверка диагонального преобладания (в случае, если диагональное преобладание в исходной матрице отсутствует, сделать перестановку строк/столбцов до тех пор, пока преобладание не будет достигнуто). В случае невозможности достижения диагонального преобладания - вы- водить соответствующее сообщение.
- Вывод вектора неизвестных: 𝑥1, 𝑥2, … , 𝑥𝑛
- Вывод количества итераций, за которое было найдено решение.
- Вывод вектора погрешностей: $\lvert x_i^{(𝑘)} − x_i^{(𝑘−1)}\rvert$
Содержание отчета:
- Цель работы,
- Описание метода, расчетные формулы,
- Листинг программы (по крайне мере, где реализован сам метод)
- Примеры и результаты работы программы,
- Выводы.
- Отчет предоставляется в электронном/бумажном виде.
Варианты задания
- Метод Гаусса
- Метод Гаусса с выбором главного элемента по столбцам
- Метод простых итераций
- Метод Гаусса-Зейделя
Контрольные вопросы к защите лабораторной работы:
- Что является решением системы линейных алгебраических уравнений?
- Сформулируйте признак отсутствия корней системы линейных алгебраических уравнений.
- Оцените достоинства и недостатки прямых методов решения СЛАУ?
- Оцените достоинства и недостатки итерационных методов решения СЛАУ?
- Как вычислить определитель, если решать СЛАУ методом Гаусса?
- Идея метода Гаусса с выбором главного элемента по столбцам/строкам?
- Что такое сходимость итерационного метода?
- Какое достаточное условие сходимости итерационных методов решения СЛАУ?
- Чем отличается метод простой итерации от метода Гаусса-Зейделя?
- Идея метода Гаусса-Зейделя?
- В каких случаях применяется метод Гаусса с выбором главного элемента?
- Как определить погрешность решения СЛАУ методом Гаусса?
- Назовите критерии окончания итерационного процесса метода простой итерации.
- Если норма преобразованной матрицы будет больше 1, что это означает?
- Если диагональный элемент равен нулю, можно ли использовать метод Гаусса?
Лабораторная работа №2 Численное решение нелинейных уравнений и систем
Цель работы: изучить численные методы решения нелинейных уравнений и их систем, найти корни заданного нелинейного уравнения/системы нелинейных уравнений, выполнить программную реализацию методов.
№ варианта определяется как номер в списке группы согласно ИСУ.
Лабораторная работа состоит из двух частей: вычислительной и программной
1 Вычислительная реализация задачи
Задание:
- Отделить корни заданного нелинейного уравнения графически (вид уравнения представлен в табл. 6)
- Определить интервалы изоляции корней.
- Уточнить корни нелинейного уравнения (см. табл. 6) с точностью ε=10-2.
- Используемые методы для уточнения каждого из 3-х корней многочлена представлены в таблице 7.
- Вычисления оформить в виде таблиц (1-5), в зависимости от заданного метода. Для всех значений в таблице удержать 3 знака после запятой. 5.1 Для метода половинного деления заполнить таблицу 1. 5.2 Для метода хорд заполнить таблицу 2. 5.3 Для метода Ньютона заполнить таблицу 3. 5.4 Для метода секущих заполнить таблицу 4. 5.5 Для метода простой итерации заполнить таблицу 5.
- Заполненные таблицы отобразить в отчете.
№ шага | a | b | x | f(a) | f(b) | f(x) | $\lvert a-b \rvert$ |
---|---|---|---|---|---|---|---|
1 | |||||||
2 | |||||||
3… |
Уточнение корня уравнения методом половинного деления
№ шага | a | b | x | f(a) | f(b) | f(x) | $\lvert x_{k+1}-x_k \rvert$ |
---|---|---|---|---|---|---|---|
1 | |||||||
2 | |||||||
3… |
Усточнение корня уравнения методом хорд
№ шага | $x_k$ | $f(x_k)$ | $f’(x_k)$ | $x_{k+1}$ | $\lvert x_{k+1}-x_k \rvert$ |
---|---|---|---|---|---|
1 | |||||
2 | |||||
3… |
Уточнение корня уравнения методом Ньютона
№ шага | $x_{k-1}$ | $x_k$ | $x_{k+1}$ | $f(x_{k+1})$ | $\lvert x_{k+1}-x_k \rvert$ |
---|---|---|---|---|---|
1 | |||||
2 | |||||
3… |
Уточнение корня уравнения методом секущих
№ шага | $x_k$ | $x_{k+1}$ | $f(x_{k+1})$ | $\lvert x_{k+1}-x_k \rvert$ |
---|---|---|---|---|
1 | ||||
2 | ||||
3… |
Уточнение корня уравнения методом простой итерации
2 Программная реализация задач
Для нелинейных уравнений:
- Все численные методы (см. табл. 8) должны быть реализованы в виде отдельных подпрограмм/методов/классов.
- Пользователь выбирает уравнение, корень/корни которого требуется вычислить (3-5 функций, в том числе и трансцендентные), из тех, которые предлагает программа.
- Предусмотреть ввод исходных данных (границы интервала/начальное приближение к корню и погрешность вычисления) из файла или с клавиатуры по выбору конечного пользователя.
- Выполнить верификацию исходных данных. Необходимо анализировать наличие корня на введенном интервале. Если на интервале несколько корней или они отсутствуют – выдавать соответствующее сообщение. Программа должна реагировать на некорректные введенные данные.
- Для методов, требующих начальное приближение к корню (методы Ньютона, секущих, хорд с фиксированным концом), выбор начального приближения (а или b) вычислять в программе.
- Для метода простой итерации проверять достаточное условие сходимости метода на введенном интервале.
- Предусмотреть вывод результатов (найденный корень уравнения, значение функции в корне, число итераций) в файл или на экран по выбору конечного пользователя.
- Организовать вывод графика функции, график должен полностью отображать весь исследуемый интервал (с запасом).
Для систем нелинейных уравнений:
- Пользователь выбирает предлагаемые программой системы двух нелинейных уравнений (2-3 системы).
- Организовать вывод графика функций.
- Начальные приближения ввести с клавиатуры.
- Для метода простой итерации проверить достаточное условие сходимости.
- Организовать вывод вектора неизвестных: 𝑥1, 𝑥2.
- Организовать вывод количества итераций, за которое было найдено решение.
- Организовать вывод вектора погрешностей:
- Проверить правильность решения системы нелинейных уравнений
3 Оформить отчет, который должен содержать:
- Титульный лист.
- Цель лабораторной работы.
- Порядок выполнения работы.
- Рабочие формулы используемых методов.
- Графики функций на исследуемом интервале.
- Заполненные таблицы вычислительной части лабораторной работы (в зависимости от варианта: табл. 1 – 5).
- Листинг программы, по крайней мере, коды используемых методов.
- Результаты выполнения программы при различных исходных данных.
- Выводы
Вид нелинейного уравнения для вычислительной реализации
Вариант 24
\[x^3-2.92x^2+1.435x+0.791\]Выбор метода для вычислительной реализации задачи (табл. 1-5)
1 – Метод половинного деления 2 – Метод хорд 3 – Метод Ньютона 4 – Метод секущих 5 – Метод простой итерации
№ варианта | Крайний правый корень | Крайний левый корень | Центральный корень |
---|---|---|---|
Вариант 24 | 2 | 3 | 5 |
Выбор метода для программной реализации задачи
Решение нелинейных уравнений:
1 – Метод половинного деления
2 – Метод хорд
3 – Метод Ньютона
4 – Метод секущих
5 – Метод простой итерации
Решение систем нелинейных уравнений:
6 – Метод Ньютона
7 – Метод простой итерации
№ варианта | Методы в программе |
---|---|
24 | 2,4,5,7 |
Контрольные вопросы к защите лабораторной работы:
- Понятие точного и приближенного решений нелинейного уравнения.
- Основная идея метода половинного деления?
- Может ли метод половинного деления найти точное значение корня уравнения?
- В чем суть метода Ньютона?
- Как выбирается начальное приближение для метода Ньютона?
- Идея метода хорд?
- Как выбирается начальное приближение для метода хорд с фиксированным концом интервала изоляции корня?
- По каким причинам методы хорд и касательных предпочтительнее метода простой итерации?
- Какой из методов является трехшаговым методом? Как запустить этот метод?
- В чем суть метода простой итерации?
- Каковы условия применяемости метода простой итерации?
- Как правильно преобразовать исходное нелинейное уравнение $y=f(x)$ к виду $x=\varphi(x)$?
- Каковы основные критерии окончания итерационного процесса?
- Как оценить необходимое количество итераций в методе биссекции при заданной точности?
- Алгоритм решения системы нелинейных уравнений методом Ньютона?
- Каковы преимущества и недостатки графического метода отделения решения для системы двух нелинейных уравнений?
- В каких случаях можно применить метод простой итерации для решения системы нелинейных уравнений?
- Когда можно считать итерационный процесс законченным при использовании метода простой итерации для решения системы нелинейных уравнений?
- Что такое сходимость и скорость сходимости численных методов?
- Дайте определение устойчивости итерационного метода?