- •Лабораторная работа № 1
- •Варианты заданий
- •Лабораторная работа № 2
- •Лабораторная работа № 3
- •Лабораторная работа № 6 Интерполирование функций
- •Лабораторная работа № 7 Интерполирование функций двух переменных
- •Лабораторная работа № 8 Метод золотого сечения
- •Лабораторная работа № 9 Метод Куммера
- •Варианты заданий
- •Лабораторная работа № 10 Решение систем нелинейных уравнений методом Ньютона Пусть задана система двух нелинейных уравнений с двумя неизвестными
- •Лабораторная работа № 11 Решение систем нелинейных уравнений методом итерации
- •Лабораторная работа № 12 Решение систем линейных уравнений методом Гаусса
- •Лабораторная работа № 13 Метод прогонки
- •Варианты заданий
- •Варианты заданий
- •Лабораторная работа № 20 Метод Милна
- •Лабораторная работа № 21 Метод Адамса
- •Лабораторная работа № 23 Решение систем дифференциальных уравнений методом Рунге—Кутта
- •Лабораторная работа № 24 Задача линейного программирования
- •Лабораторная работа № 25 Транспортная задача
- •Лабораторная работа № 26 Метод наискорейшего спуска
- •Лабораторная работа № 27 Метод дробления шага
- •Лабораторная работа № 28 Метод покоординатного спуска
- •Лабораторная работа № 29 Метод случайного поиска
- •Лабораторная работа № 30 Эмпирические формулы. Линейная зависимость
- •Лабораторная работа № 31 Решение краевой задачи методом сеток
- •Лабораторная работа № 35 Динамическое программирование
- •Корни нелинейных уравнений
- •Интерполирование функций
- •Двумерная интерполяция
- •Метод золотого сечения (лабораторная работа № 8)
- •Решение систем нелинейных уравнений (лабораторные работы №10— 11)
- •Решение систем линейных уравнений
- •Решение систем линейных уравнений методом прогонки
- •Приближенные значения интегралов
- •Приближенные решения системы дифференциальных уравнений
- •Задача линейного программирования
- •Максимальная прибыль
- •Транспортная задача
- •Значения функции в точке минимума
- •Динамическое программирование
- •Список литературы
Лабораторная работа № 12 Решение систем линейных уравнений методом Гаусса
Пусть задана система линейных уравнений с невырожденной матрицей
(15)
Путем последовательного исключения неизвестных ее приводят к эквивалентной системе с треугольной матрицей
Решение этой системы находят по следующим рекуррентным формулам:
Рассмотрим снова систему (15). Чтобы исключить переменную x1 из всех уравнений, кроме первого, нужно коэффициенты первого уровня разделить на a11 (ведущий элемент), а из i-го уравнения (i = 1, 2, 3,…..., n) вычесть первое, умноженное на аi1. Затем исключается переменная x2 из всех уравнений, кроме второго, и т. д.
В этом алгоритме все ведущие элементы должны быть отличны от нуля. Если хотя бы один из ведущих элементов равен нулю, то этот алгоритм использовать нельзя. Поэтому приведенный алгоритм можно изменить следующим образом. Для того, чтобы исключить переменную x1 из всех уравнений, кроме одного, нужно среди коэффициентов а11, а21,...…, аn1 найти максимальный по абсолютной величине. Пусть этим коэффициентом является аi1. Поменяем строки 1 и i местами, а затем произведем вычисления таким же образом, как описано ранее. В этом случае алгоритм всегда приводит к цели, и, кроме того, погрешность вычислений будет меньше.
Решение системы можно уточнить. Пусть система записана в матричной форме и найдено приближенное решение . Полагая , для нахождения вектора поправки будем иметь уравнение или , где
Задание. Методом Гаусса с уточнением решить следующую систему уравнений:
где k – номер фамилии студента в списке преподавателя. Найденное решение уточнить. На экран вывести векторы
Лабораторная работа № 13 Метод прогонки
Требуется решить систему линейных уравнений с трехдиагональной матрицей, которая имеет вид ai xi-1 + bi xi + ci xi+1 = di (i = 1, 2, …..., n), причем a1 = cn = 0 , а все другие коэффициенты отличны от нуля. Система такого вида получается, например, при решении краевой задачи методом сеток.
Применяя для решения этой системы метод Гаусса, получим:
Это формулы прямого хода. При вычислении по этим формулам требуется выполнить 6(n - 1) арифметических операций.
При выполнении обратного хода вычисления производятся по формулам
при этом требуется выполнить 3n арифметических операций. Всего при решении системы методом прогонки требуется выполнить 9n арифметических операций. Метод очень быстроходный и позволяет решать системы очень большого порядка.
При программировании метода можно ввести массивы A, B, C, D и X. При вычислениях массивы B и D портятся, а массивы А и С – нет.
Для контроля правильности вычислений можно рассчитать невязки
i = ai xi-1 + bi xi + ci xi+1 – di (i = 1, 2, ...…, n).
В данных формулах нужно использовать элементы исходных массивов. В этом случае нужно иметь копии массивов B и D.
Система линейных уравнений имеет единственное решение, если выполняются условия следующей теоремы: если bi ai + + | ci (i = 1, 2, 3,… ..., n) и хотя бы для одного уравнения выполняется строгое неравенство.
Задание. Методом прогонки решить систему уравнений
где k – номер фамилии студента в журнале преподавателя. На печать вывести исходную расширенную матрицу, а также xi, i (i = 1, 2,… ..., 5). Программу, реализующую метод прогонки, оформить в виде процедуры, обращение к которой имеет вид PROG (A, B, C, D, X, N).
Лабораторная работа № 14
Квадратурная формула прямоугольников
Для приближенного вычисления определенного интеграла интервал [a,b] разбивается на n равных интервалов. Узловые точки рассчитываются по формуле xi = a + ih (i = 0,1,2,… ..., n), где Значения функции в этих узлах обозначаются через fi = f(xi).
Самой простой квадратурной формулой является формула прямоугольников. Приближенное значение интеграла вычисляется по формуле
а остаточный член имеет вид
Чтобы вычислить интеграл с заданной точностью, нужно взять h таким малым, чтобы выполнялось неравенство
(16)
где
М1 = max |f '(x)|.
х [а,b]
Пример. Определим n, при котором значение интеграла вычисленное по формуле прямоугольников, определится с точностью = 0,0001.
Решение. Здесь a = 0, b = 1, Производная от равна Чтобы найти М1, нужно от взять производную, найти корни принадлежащие интервалу [a,b], вычислить значение в точках х = а и х = b, а также в точках, которые являются корнями . Максимальное по абсолютной величине из этих значений и равно М1. В нашем случае Приравнявнулю, найдем , т. к. х2[0,1] то эту точку не учитываем. Находим: ; ; M1 = 0,8578. Из (16) можно получить следующее неравенство:. Значит, в нашем случае . Можно взять n = 4290.
Задание. Методом прямоугольников вычислить значение одного из приведенных ниже интегралов с точностью = 0,0001.