Автор: Пользователь скрыл имя, 14 Февраля 2011 в 13:23, курсовая работа
Цель работы – разработка программы, которая методом Крамера и методом простой итерации решает систему линейных уравнений.
ВВЕДЕНИЕ 5
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 7
1.1 ПОСТАНОВКА ЗАДАЧИ 7
1.2 Основные понятия 8
1.3 Метод Крамера 10
1.4 Метод простой итерации 11
2. ПРАКТИЧЕСКАЯ ЧАСТЬ 15
2.1 Обоснование выбора средств разработки 15
2.2. Реализация математической модели в Delphi 16
ЗАКЛЮЧЕНИЕ 17
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 18
Система называется квадратной, если число m уравнений равно числу n неизвестных.
Система называется
Система имеющая хотя бы одно решение называется совместной, а система, не имеющая ни одного решений, – несовместной. Совместная система называется определенной, если она имеет единственное решение; если же у нее есть хотя бы два различных решения, то она называется неопределенной. Если уравнений больше, чем неизвестных, она называется переопределённой.
Мы будем рассматривать только совместные определенные систем, т.е. системы, имеющие единственное решение. Это ограничение приводит к тому, что число уравнений системы должно равняться числу неизвестных.
Линейную систему можно записать в матричном виде. Матрица
,
составленная из коэффициентов системы линейных уравнений, называется основной матрицей системы.
Матрица
,
полученная
из основной путем добавления столбца
свободных членов, называется расширенной
матрицей системы.
Теорема1. Если определитель системы (1.2.1) не равен нулю:
то
система(2.1.1) имеет единственное решение
для любого вектора b, вычисляемое
по формулам Крамера
где – определитель, получаемый из определителя , если в нем заменить числа j-го столбца соответственно на числа :
(1.3.2)
При большом числе уравнений прямые методы решения СЛАУ (за исключением метода прогонки) становятся труднореализуемыми на ЭВМ прежде всего из-за сложности хранения и обработки матриц большой размерности. В то же время характерной особенностью ряда часто встречающихся в прикладных задачах СЛАУ является разреженность матриц. Число ненулевых элементов таких матриц мало по сравнению с их размерностью. Для решения СЛАУ с разреженными матрицами предпочтительнее использовать итерационные методы.
Методы последовательных приближений, в которых при вычислении последующего приближения решения используются предыдущие, уже известные приближенные решения, называются итерационными.
Рассмотрим СЛАУ (1.2.1) с невырожденной матрицей .
Приведем
СЛАУ к эквивалентному виду
(1.4.1)
или в векторно-матричной форме
Такое приведение может быть выполнено различными способами. Одним из наиболее распространенных является следующий.
Разрешим систему (1.2.1) относительно неизвестных при ненулевых диагональных элементах , (если какой-либо коэффициент на главной диагонали равен нулю, достаточно соответствующее уравнение поменять местами с любым другим уравнением). Получим следующие выражения для компонентов вектора и матрицы эквивалентной системы:
, . (1.4.3)
При таком способе приведения исходной СЛАУ к эквивалентному виду метод простых итераций носит название метода Якоби.
В качестве нулевого приближения вектора неизвестных примем вектор правых частей или . Тогда метод простых итераций примет вид:
(1.4.4)
Из (1.4.4) видно преимущество итерационных методов по сравнению, например, с рассмотренным выше методом Крамера. В вычислительном процессе участвуют только произведения матрицы на вектор, что позволяет работать только с ненулевыми элементами матрицы, значительно упрощая процесс хранения и обработки матриц.
Имеет место следующее достаточное условие сходимости метода простых итераций.
Метод простых итераций (1.4.4) сходится к единственному решению СЛАУ (1.4.1) (а следовательно и к решению исходной СЛАУ (1.2.1)) при любом начальном приближении , если какая-либо норма матрицы эквивалентной системы меньше единицы
Если используется метод Якоби (выражения (1.4.3) для эквивалентной СЛАУ), то достаточным условием сходимости является диагональное преобладание матрицы , т.е. (для каждой строки матрицы модули элементов, стоящих на главной диагонали, больше суммы модулей недиагональных элементов). Очевидно, что в этом случае меньше единицы и, следовательно, итерационный процесс (1.4.4) сходится.
Достаточные условия сходимости итераций(1.4.4) к решению системы содержит следующая теорема:
Если какая-либо каноническая норма матрицы α меньше единицы, то уравнение(1.4.2) имеет единственное решение , к которому стремиться последовательность итераций (1.4.4) при любом выборе начального приближения .
Замечание. Для матрицы (1.2.2) определены следующие три нормы :
То есть достаточные условия сходимости процесса итераций можно представить следующим образом:
При выполнении достаточного условия сходимости оценка погрешности решения на - ой итерации дается выражением:
, (1.4.8)
где - точное решение СЛАУ.
Процесс итераций останавливается при выполнении условия , где - задаваемая вычислителем точность.
Принимая во внимание, что из (2.3.4) следует неравенство , можно получить априорную оценку необходимого для достижения заданной точности числа итераций. При использовании в качестве начального приближения вектора такая оценка определится неравенством:
откуда получаем априорную оценку числа итераций при
.
Следует подчеркнуть, что это неравенство дает завышенное число итераций k, поэтому редко используется на практике.
Замечание. Поскольку является только достаточным (не необходимым) условием сходимости метода простых итераций, то итерационный процесс может сходиться и в случае, если оно не выполнено. Тогда критерием окончания итераций может служить неравенство
Для работы с массивами использован компонент StringGrid , так является наиболее удобным для работы с массивами.
Для организации вычисления по формулам Крамера использован компонент Button , для события Onclick описана процедура которая согласно следующему алгоритму выполняет вычисления :
Для организации вычисления методом простой итерации также использован компонент Button, для события OnClick данной кнопки описана процедура работающая по следующему алгоритму:
Также предусмотрена кнопка, при нажатии которой есть возможность поменять размерность матрицы.
Описана процедура для выхода из программы.
Для
просмотра результатов
2.3.1 Метод
Крамера
2.3.2 Метод
простой итерации
Линейные системы имеют очень большое значение, так как к ним может быть приведено приближенное решение широкого круга задач. Теория этих систем сравнительно проста и доведена во многих частях до совершенства. Что же касается практики решения систем, то наши возможности еще сильно отстают от потребностей. Здесь многое зависит от порядка системы, т. е. от числа уравнений и неизвестных в ней. С увеличением порядка число операций, нужных для решения системы, быстро растет.
Число операций, требующихся для решения, зависит не только от порядка системы, но также от выбора метода вычислений. По теореме Крамера система имеет единственное решение. В этой теореме указывается явное выражение для значений неизвестных в виде отношения двух определителей порядка n, при этом число различных определителей в отношениях равно n+1.
Для
нахождения решения нужно будет приблизительно
n×n умножений и делений. Уже при
n = 20 это являете настолько большим, что
становится ясной невозможность решать
указанным путем на современных машинах
систему даже двадцати уравнений.
Чтобы было возможным решение систем большого числа уравнений, необходимо изменить метод вычислений и сделать его менее трудоемким. Такими методами являются итерационные методы, к числу которых относиться метод простой итерации рассмотренный в данной работе, данный метод позволяет получать приближенное решение уравнения, затрачиваю при этом меньше числовых операций, чем при точных методах.
Информация о работе Методы решения СЛАУ. Метод простой итерации. Метод Крамера