Автор работы: Пользователь скрыл имя, 05 Мая 2015 в 21:46, курсовая работа
В данном курсовом проекте был разработан программный продукт, предназначенный для решения систем линейных алгебраических уравнений методом простой итерации и методом прогонки.
Решение систем линейных алгебраических уравнений (СЛАУ) является одной из основных задач линейной алгебры. Эта задача имеет важное прикладное значение при решении научных и технических проблем. Решение систем уравнений, содержит четко сформулированный алгоритм для проведения вычислений.
Введение 3
Глава 1. Теоретическая часть 5
1.1. Постановка задачи 5
1.2. Система линейных алгебраических уравнений 5
1.3. Метод простой итерации решения СЛАУ 7
1.4. Метод прогонки 9
1.5. Алгоритм решения 12
Глава 2. Практическая часть 13
2.1. Реализация алгоритма решения 13
2.2. Результат выполнения программы 23
Заключение 25
Список использованных источников 26
Курсовой проект по дисциплине
«Методы вычислений»
Содержание
В данном курсовом проекте был разработан программный продукт, предназначенный для решения систем линейных алгебраических уравнений методом простой итерации и методом прогонки.
Решение систем линейных алгебраических уравнений (СЛАУ) является одной из основных задач линейной алгебры. Эта задача имеет важное прикладное значение при решении научных и технических проблем. Решение систем уравнений, содержит четко сформулированный алгоритм для проведения вычислений.
Весьма существенным преимуществом такого программного продукта является способность предотвращать ошибки человеческого фактора, которые могут возникнуть при вводе информации. Это обусловливается тем, что программа осуществляет проверку на наличие таких ошибок. Если же такие ошибки возникли, то на экран будет выведено предупреждение о неправильном вводе, и пользователю будет предоставлена возможность повторить ввод.
Кроме того, метод в электронном виде достаточно компактен, не имеет больших системных требований, а также рассчитан на широкую аудиторию пользователей.
Для написания визуальной программы будут использоваться различные технические и программные средства. В качестве инструмента разработки будем использовать С#, так как он является языком высокого уровня, имеет высокую скорость работы и для языка есть собственная среда разработки. Для разработки удобной и красивой формы будет использоваться Windows Forms. Не менее популярное и одно из лучших приложений - это Microsoft Office Word, которое будет использовано для написания текста курсового проекта.
Целью создания программного продукта является автоматизация процесса решения систем уравнений.
Наличие удобного в использовании графического интерфейса позволяет выбрать одну из предложенных разработчиком функцию для решения систем уравнений.
Человек все чаще прибегает к использованию компьютера для того, чтобы в короткие сроки, и с максимальной эффективностью решать поставленные задачи. Эта программа может сделать это, к тому же, она в своих расчетах не содержит долю человеческого фактора, что тем самым приводит к более точным расчетам. В работе такие системы способны функционировать без вмешательства человека, осуществлять расчеты самостоятельно, только нуждаясь во вводе информации пользователем.
Написать в среде Visual C# визуальную программу, которая позволяет решать системы линейных алгебраических уравнений методами простых итераций и прогонки.
Предусмотреть возможность задать число уравнений и коэффициенты.
Реализовав данную задачу в визуальной программе, мы можем очень легко и доступно решать системы линейных алгебраических уравнений.
Любой пользователь сможет быстро решить сложные уравнения. В наше время методы простых итераций и прогонки довольно актуальны.
Система m линейных алгебраических уравнений с n неизвестными в линейной алгебре — это система уравнений вида
|
(1) |
Здесь — m количество уравнений, а — количество неизвестных. x1, x2, …, xn — неизвестные, которые надо определить. a11,a12, …, amn — коэффициенты системы — и b1, b2, … bm — свободные члены — предполагаются известными[1]. Индексы коэффициентов (aij) системы обозначают номера уравнения (i) и неизвестного (j), при котором стоит этот коэффициент, соответственно[2].
Система (1) называется однородной, если все её свободные члены равны нулю (b1 = b2 = … = bm = 0), иначе — неоднородной.
Система (1) называется квадратной, если число m уравнений равно числу n неизвестных.
Решение системы (1) — совокупность n чисел c1, c2, …, cn, таких что подстановка каждого ci вместо xi в систему (1) обращает все её уравнения в тождества.
Система (1) называется совместной, если она имеет хотя бы одно решение, и несовместной, если у неё нет ни одного решения.
Совместная система вида (1) может иметь одно или более решений.
Решения c1(1), c2(1), …, cn(1) и c1(2), c2(2), …, cn(2) совместной системы вида (1) называются различными, если нарушается хотя бы одно из равенств:
c1(1) = c1(2), c2(1) = c2(2), …, cn(1) = cn(2). |
Совместная система вида (1) называется определённой, если она имеет единственное решение; если же у неё есть хотя бы два различных решения, то она называется неопределённой. Если уравнений больше, чем неизвестных, она называется переопределённой.
Возьмём систему линейных уравнений:
, где
Или
Для того, чтобы построить итеративную процедуру метода Якоби, необходимо провести предварительное преобразование системы уравнений к итерационному виду . Оно может быть осуществлено по одному из следующих правил:
где в принятых обозначениях D означает матрицу, у которой на главной диагонали стоят соответствующие элементы матрицы A, а все остальные нули; тогда как матрицы U и L содержат верхнюю и нижнюю треугольные части A, на главной диагонали которых нули, E — единичная матрица.
Тогда процедура нахождения решения имеет вид:
Или в виде поэлементной формулы:
где k счётчик итерации.
В отличие от метода Гаусса-Зейделя мы не можем заменять на в процессе итерационной процедуры, так как эти значения понадобятся для остальных вычислений. Это наиболее значимое различие между методом Якоби и методом Гаусса-Зейделя решения СЛАУ. Таким образом на каждой итерации придётся хранить оба вектора приближений: старый и новый.
Приведем достаточное условие сходимости метода.
Теорема.
|
Условие окончания итерационного процесса при достижении точности в упрощённой форме имеет вид:
Система уравнений равносильна соотношению
Метод прогонки основывается на предположении, что искомые неизвестные связаны рекуррентным соотношением: где
Используя это соотношение, выразим xi-1 и xi через xi+1 и подставим в уравнение (1):
,
где Fi — правая часть i-го уравнения. Это соотношение будет выполняться независимо от решения, если потребовать
Отсюда следует:
Из первого уравнения получим:
После нахождения прогоночных коэффициентов и , используя уравнение (2), получим решение системы. При этом,
Другим способом объяснения существа метода прогонки, более близким к терминологии конечно-разностных методов и объясняющим происхождение его названия, является следующий: преобразуем уравнение (1) к эквивалентному ему уравнению
c надиагональной (наддиагональной) матрицей
.
Вычисления проводятся в два этапа. На первом этапе вычисляются компоненты матрицы и вектора , начиная с до
И
На втором этапе, для вычисляется решение:
Такая схема вычисления объясняет также английский термин этого метода «shuttle».
Для применимости формул метода прогонки достаточно свойства строгого диагонального преобладания у матрицы A.
Информация о работе Решение системы линейных уравнений методами простых итераций и прогонки