
- •Соглашения
- •Общие замечания
- •Порядок выполнения первого задания
- •Общий порядок выполнения очередного (не первого) задания
- •Признак успешности выполнения алгоритма
- •Практическое задание №1. Метод половинного деления
- •Методические указания
- •Порядок выполнения задания
- •Варианты решаемых функций
- •Практическое задание №2. Метод простых итераций
- •Методические указания
- •Порядок выполнения задания
- •Варианты решаемых функций
- •Практическое задание №3. Метод Ньютона
- •Методические указания
- •Порядок выполнения задания
- •Варианты решаемых функций
- •Практическое задание №4. Метод секущих
- •Методические указания
- •Порядок выполнения задания
- •Варианты решаемых функций
- •Практическое задание №5. Метод простых итераций (СЛАУ)
- •Методические указания
- •Порядок выполнения задания
- •Варианты СЛАУ
- •Практическое задание №6. Метод Зейделя (СЛАУ)
- •Методические указания
- •Порядок выполнения задания
- •Варианты СЛАУ
- •Практическое задание №7. Метод Гаусса (СЛАУ)
- •Методические указания
- •Порядок выполнения задания
- •Варианты СЛАУ
- •Практическое задание №8. Интерполяционный многочлен Лагранжа
- •Методические указания
- •Порядок выполнения задания
Теперь нужно перейти к функции finish и полностью ее определить. Сейчас функция просто возвращает 1.
Перед этим нужно описать цикл по количеству переменных (заданным аргументом N), в каждой итерации вычислить абсолютное значение указанной выше разности и сравнить со значением точности, заданным аргументом eps. Если абсолютное значение разности больше eps, функция возвращает ноль (и завершает работу).
После проверки на завершение нужно присвоить значения элементов массива X1 значениями соответствующих элементов массива X (с помощью дополнительного цикла типа for). И это конец функции siters1.
После завершения убеждаемся, что программа вычисляет необходимые значения результата. Если нет, находим и исправляем ошибки.
8.Переходим к функции siters2. Ее разработка очень проста, поскольку практически все уже сделано.
Напомним, что эта функция использует функцию slau, которая вычисляет новое приближение. Следовательно, нужно просто вызвать эту функцию, чтобы рассчитать новое приближение (функция slau передается в функцию siters2 как параметр ef). После этого нужно выполнить проверку на завершение и переприсвоение элементов массивов X1 и X. Фактически это 16 секунд работы. Выполняем и проверяем работу этой функции.
9.Переходим к функции siters3. Ее разработка также проста и вообще это самая простая функция из всех. Она состоит из следующих действий:
- проверка на зацикливание;
- вычисление нового приближения при помощи функции slau (функция slau передается в функцию siters3 как параметр ef);
- проверка на завершение;
- рекурсивный вызов самой себя; при этом параметры X и X1 меняются местами.
Оформляем код, проверяем работу.
Таким образом, в результате выполнения данного задания были изучены основные приемы работы с системами уравнений.
Варианты СЛАУ
1)
2x1 |
+ |
2x2 |
+ 10x3 |
= 14 |
||
10x1 |
+ |
x2 |
+ |
x3 |
= |
12 |
2x1 |
+ 10x2 |
+ |
x3 |
= |
13 |
Точное решение: x1 = 1, x2 = 1, x3 = 1.
35