Метод исключения Гаусса без выбора ведущего элемента и без поддержки комплексных чисел
Главная задача численных методов. Система Линейных Алгебраических Уравнений (СЛАУ), их проблематика. Методы решения поставленных задач. Порядок обращения матриц. Число обусловленности, описание метода Гаусса. Обзор программного модуля для Турбо Паскаль.
Рубрика | Математика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 21.12.2012 |
Размер файла | 54,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
I. Проблема СЛАУ
I.1 Решение СЛАУ
I.2 Обращение матриц
I.3 Число обусловленности
II. Описание метода Гаусса
III. Разработка программы
III.1 Основные задача программы
III.2 Листинг программного модуля для Турбо Паскаль
IV. Решение контрольной задачи
Заключение
Список использованной литературы
Введение
Вычислительные методы - одна из наук, которая вышла из математики, но является специальной. Главной задачей численных методов является нахождение наиболее эффективного (исходя из требований) метода решения поставленной задачи.
Эта наука в основном состоит (об этом говорит и название) из набора приводящих к решению методов, которые собирались в течение не одной тысячи лет многими известными математиками.
В связи с тем, что наука является численной, то одной из важных проблем является оценка погрешности, которая в той или иной степени присутствует на разных этапах решения (постановка задачи, сбор и формирование данных, решение).
В подавляющем большинстве это практические задачи (измерение на местности, навигация, моделирование и т.д.), решение которых является число или группа чисел.
Численное решение прикладных задач всегда интересовало математиков. Крупнейшие ученые прошлого сочетали в своих трудах как построение математического описания явления (математической «модели»), так и его исследование. Анализ усложненных моделей требовал создания новых, как правило, численных методов решения задач. Названия некоторых из таких методов - метод Ньютона, Эйлера, Гаусса, Чебышева - свидетельствуют о том, что их разработкой занимались крупнейшие ученые своего времени.
Внедрение компьютерной и микропроцессорной техники во многие виды человеческой деятельности требует от специалистов разного профиля овладения навыками использования вычислительной техники, соответственно и программы обучения не только студентов, но иногда и школьников, включают в себя получение навыков работы с ЭВМ, изучение некоторых (чаще всего простейших) методов. Использование ЭВМ для студентов при выполнении лабораторных работ стало привычным, при выполнении курсовых и дипломных чаще всего необходимым.
Вычислительная техника используется сейчас не только в инженерных и экономических науках, но и в таких традиционно нематематических специальностях, как медицина, лингвистика, психология и другие. В связи с этим можно констатировать, что применение ЭВМ приобрело массовый характер.
На сегодняшний день классическая вычислительная машина (компьютер), способна произвести более 1 миллиарда простейших операций сложения, при этом производительность человека 0,1 операций в секунду. Таким образом вычислительные машины на сегодняшний день на 10 порядков работают с числами быстрее, чем человек.
В связи с тем, что производительность ЭВМ улучшается с каждым днем, а человека остается неизменным, то использование ЭВМ является не только наиболее эффективно, зачастую необходимо, но и перспективно.
При решении задач на ЭВМ человек все же играет самую главную роль, которую и по сей день ни какой «искусственный интеллект» заменить не смог - это постановка задачи. Машина лишь выполняет его задания по разработанной программе (под словом программа имеется в виду не программный модуль, а последовательность действий).
Конечно, долго можно говорить о том, что делает человек, а что вычислительная машина, но чтобы наглядно понять, что кому доводиться выполнять рассмотрим весь процесс решения задачи на условно следующие этапы:
1) Постановка задачи. Человек определяет постановку задачи и конечную ее цель. Таким образом в общем виде определяет что есть и что надо.
2) Математическая модель. Человек описывает модель, которая должная включать в себя все (или наиболее важные) физические законы исходного процесса. Построение (или выбор из разработанных ранее) математической модели, этот процесс обязывает человека хорошо разбираться в данной проблеме и глубоко владеть всеми знаниями соответствующих разделов физики, химии, биологии, математики и др. наук. поставленную ранее задачу
3) Численный метод. В связи с тем, что ЭВМ может выполнять простейшие операции (перенос данных, сложение, умножение, деление,…), то необходимо найти (очевидно оптимальный) численный метод, способный свести поставленную задачи (целиком или по частям) к некоторому вычислительному алгоритму.
4) Алгоритм. Процесс разбивают на некоторые части и используя уже подобранные численные методы (в предыдущем пункте) оптимизируют и разбивают на действия для выполнения на данной вычислительной машине.
5) Программирование. Алгоритм описывает действия в общем виде, поэтому на данном этапе человек выбирает для данной вычислительной машины и алгоритма наиболее эффективный язык программирования и строго по алгоритму составляет программу. Хотя в большинстве случаев в последнее время тот или иной язык программирования не играет никакой роли, поэтому выбор поддет на тот, в котором Человек разбирается лучше всего.
В дальнейшем текст(код) программы с помощью транслятора, компилятора, линкера или интерпретатора (последний встречается крайне редко) переводится в код вычислительной машины.
6) Отладка. Составленная человеком программа содержит разного рода ошибки. Именно ошибки и только ошибки, поскольку неточности или описки являются ошибками для вычислительной машины и/или языка программирования, что приведет к ошибочному решению задачи. Таким образом на тестовых задачах (с наперед известным ответом) проверяется работа алгоритма.
7) Работа. На этом этапе вводятся исходные данные, зачастую это происходит автоматически, и по составленной и отлаженной программе вычислительная машина производит расчеты.
8) Анализ. Результаты работы человек, иногда вычислительная машина, анализирует и делает соответствующие выводы.
Отмечу, что только в двух последних пунктах может использоваться вычислительная машина, что явно выражает незаменимость человека.
Любая инженерная практическая задача состоит из:
Сбор информации. Информация собирается измерительными средствами или при помощи средств связи (многопроцессорная система).
Обработка информации
Принятие решения, на основе обработанной информации
Не трудно заметить, что в решении задач, как и в жизни, основной упор на информацию. Методы сбора информации и управления уже находятся на очень высоком уровне, существуют отдельные блоки сбора информации (напряжение, ток, температура, угол, скорость и др.) и блоки управления (силовые ключи, электромашины и др.). Остается проблематичным - обработка, ведь все системы, которые разрабатывались и разрабатываются по сей день, электрически и механически не представляют ничего нового, а вот самое главное - обработать и принять решение, что сейчас падает на плечи программистов.
Данные, которые поступают системам управления не приведены в привычный вид (напряжение, ток, угол, температура - единицы АЦП, а не Вольты, Амперы, Градусы). Они поступают не только не периодично, но и имеют маленькую точность, а часть данных не редко отсутствуют (заменяются косвенными) - вот на сегодняшний день аппаратное обеспечение современных систем, и это совсем не из-за того, что аппаратура не имеет хорошего развития.
В самой системе управления в большинстве таких есть микроконтроллер, в который закладывается программный модуль (а часто и не один) содержащий методы фильтрации данных (для ухода от помех), усреднение (для увеличения точности), вычисления отсутствующих данных и только после получения «чистых» данных производиться расчет данных и принятие решения.
Соответственно при использования эффективных методов, экономии машинного времени и правильно распределяя память можно не только получить правильный результат, но и удешевить (из-за не использования дополнительного и/или дорогого, высокотехнологичного измерительного аппаратного обеспечения) систему в целом, ведь программу составляют один раз, а физические элементы приходиться ставить в каждый образец изделия, кроме того необходимо настраивать аналоговые цепи, что является еще одной строчкой себестоимости системы.
Итак, ели аппаратура имеет:
Фильтрование данных;
Проверку и нахождение отсутствующих;
Автоматическую настройку;
Уточнение (чаще всего усреднение с отбрасыванием максимальных n/3 и минимальных n/3 измерений);
Хорошие входы (АЦП) и выходы (ЦАП, но чаще всего ШИМ + RC);
Правильно выбранные алгоритмы обработки то результаты работы системы будут великолепны.
Таким образом, Численные методы сегодня, как и в прошлом, занимают для инженерной среды одно из Важнейших мест.
I. Проблема СЛАУ
Система Линейных Алгебраических Уравнений (далее СЛАУ) это система вида:
(I.1)
иначе в векторно-матричном виде:
(I.2)
где _ вектор свободных членов и _ вектор неизвестных (он же в другой интерпретации может означать и вектор-решение), а _ вещественная матрица n x n - Матрица коэффициентов данной СЛАУ.
Задача решения СЛАУ и обработки матриц одна из самых важных на сегодняшний день. Большое число задач сводятся к многократному решению СЛАУ, которые в свою очередь обязывают не только иметь представление и понимать, что такое матрицы, но и уметь обращаться с ними, добиваясь указанного вида, цели.
Например, расчет схемы содержащей линейные или нелинейные элементы, интерполяция и аппроксимация, да и 3D графика использует громаднейшее количество как матриц в отдельности, так и СЛАУ, хотя с первого взгляда это не заметно. В современных микропроцессорных системах алгоритм решения СЛАУ занимает одно из центральных мест. СЛАУ, содержащая малое число уравнений, легко может быть решена в ручную. Однако, реальные системы (такие как активный фильтр) описываются очень большим количеством уравнений. Поэтому очень актуальна проблема автоматизации составления и расчета СЛАУ. На сегодня создано очень много программ решающих эту проблему. Казалось бы, задача решена, но тут возникает еще одна проблема, оценка погрешности вычисления. Она возникает из-за того, что ресурсы ЭВМ не безграничны. Суть появления погрешности при решении СЛАУ заключается в том, что разрядность ЭВМ хотя и велика, но записать все числа точно, к сожалению, не возможно. Сильно сказывается погрешность округления. По этому необходим контроль над нею.
Эффективность способов решения системы (I.1) или (I.2) во многом зависит от структуры и свойств матрицы A: размерности, обусловленности, симметричности, заполненности, специфики расположения ненулевых элементов в матрице и др.
I.1 Решение СЛАУ
Оговоримся, что целью решения СЛАУ является нахождение такого вектора неизвестных x, при известных заранее матрицей коэффициентов A и вектора свободных членов b, что уравнение (I.1) или (I.2) превращается в тождество.
Методы решения поставленной выше проблемы делятся на две группы:
1) Прямые методы. (Их еще называют точными). Они используют точные, конечные, формулы (выражения) для вычисления неизвестных. Они дают решение после выполнения заранее известного числа операций. Эти методы сравнительно просты и наиболее универсальны, т.е. пригодны для решения широкого класса линейных систем.
Эти методы требуют хранения в оперативной памяти сразу всем матрицы, и при больших значениях n расходуют много места в памяти. Существенным недостатком этих методов является также накапливание погрешностей в процессе решения, поскольку вычисление на любом этапе используют результаты предыдущих операций. Это особенно опасно, когда резко возрастает общее число операций, а также для плохо обусловленных систем, весьма чувствительных к погрешностям. В связи с вышеперечисленным, прямые методы используют для сравнительно небольших систем (n<200) с плотно заполненной матрицей и не близким к нулю определителем.
2) Итерационные методы - это методы последовательных приближений. В них необходимо задать некоторое приближенное решение - начальное приближение. После чего производиться один цикл вычислений, называемый итерацией. В результате итерации находят новое приближение. Итерации проводятся до получения решения с некоторой точностью. Алгоритмы решения линейных систем с помощью итерационных методов обычно более сложны по сравнению с прямыми методами. Объем вычислений заранее определить трудно. Тем не менее, итерационные методы в ряде случаев предпочтительнее. Они требуют хранения в памяти ЭВМ лишь некоторых векторов с n компонентами. Иногда элементы матрицы можно совсем не хранить, а вычислять по мере необходимости. Погрешности окончательных результатов не накапливаются, поскольку точность вычислений определяется лишь этой и предыдущей итерациями. Необходимо заметить, что сходимость итераций иногда бывает медленной, поэтому ищутся пути ее ускорения.
Итерационные методы могут использоваться для уточнения решений, полученных прямыми методами для больших или плохообусловленных систем.
Действительно, для каждой отдельно взятой проблемы наиболее эффективен, может быть, один (или несколько) как из прямых методов, так из итерационных. Для принятия ответственного решения, какой из них использовать, необходимо не только знать много методов, но и провести исследование на эффективность выбранного метода в частных условиях.
Производить исследование в наше время можно, как показывает практика, с помощью математических моделей. Эта модель эмулирует объект измерения или управления, таким образом, для каждого метода можно в отдельности рассмотреть интересуемые состояния и/или изменения, понять какой из методов наиболее эффективен.
С первого взгляда, кажется, что наиболее качественно рассмотреть возможные варианты систем, определить наиболее эффективный метод и все. Если же присмотреться лучше (или если есть опыт просто вспомнить создаваемые ранее системы управления), то можно понять, что не только проблема выбора численного метода может быть решена с помощью математической модели. Поэтому первоначально отсекаются методы, которые точно не подходят и оставляют группу методов, которые:
1) Удовлетворяют точностью;
2) Удовлетворяют быстродействием или в некоторой системе временем получения результата;
3) Поддерживают данное количество процессоров, в данных условиях.
4) Удовлетворяют объемом памяти
5) Могут быть реализованы;
Затем разработчик выбранные методы заносит в математическую модель устройства и проверяет уже каждый в отдельности на максимальную эффективность в данных условиях.
Выбранный метод может быть заменен на другой, в случае невозможности реализации на реальном устройстве или при трудностях его практической реализации.
I.2 Обращение матриц
Одной из серьезных задач является обращения матриц (нахождение матрицы обратной данной).
Матрица A-1 является обратной по отношению к квадратичной матрице A, если их произведение равно единичной матрице
, где по определению
В линейной алгебре доказывается, что всякая невырожденная матрица А (т.е. с отличным от нуля определителем D) имеет обратную. Причем:
Минором элемента aij называется определитель n-1 го порядка, образованный из определителя матрицы A зачеркиванием i-ой строки и j-го столбца.
Алгебраическим дополнением Aij элемента aij называется его минор, взятый со знаком плюс, если сумма i+j номеров строки i и столбца j четная, и со знаком минус, если эта сумма нечетная, т.е.:
Таким образом, каждый элемент bij (i,j=1..n) обратной матрицы B=A-1 равен отношению алгебраического дополнения Aji элемента aji (не aij) исходной матрицы A к значению ее определителя D.
Известными учеными, уже не нашего столетия, подсчитано, что на расчет обратной матрицы порядка n необходимо произвести операцию.
Конечно же, это число операций очень велико при использовании особенно больших матриц, поэтому использование данной формулы не допустимо при больших порядках n (n>7).
Существуют способы нахождения обратной матрицы с использованием прямых методов, например LU-факторизации, при использовании которого можно получить большую разницу производительности по сравнению, как с классическим, так и многими другими методами.
I.3 Число обусловленности
СЛАУ в действительности будет решаться система вида
,
где , ,
Пусть известны оценки и .
После не долгих преобразований и заключений, которые в доскональности и изложены в книгах выдающихся международных ученых, мы придем к такому выражению:
Для качественной характеристики связи между погрешностями правой части и решения вводятся понятия обусловленности системы и обусловленности матрицы системы. Абсолютные погрешности правой части и решения системы зависят от масштабов, которыми измеряются эти величины. Поэтому правильнее характеризовать свойства системы через связь между относительными погрешностями правой части и решения.
Соответственно в качестве меры обусловленности системы принимается число:
,
так как принимаем
, то
Таким образом, число обусловленности матрицы является произведение некоторой нормы данной матрицы и ей обратной.
Системы с большим числом обусловленности принято называть плохо обусловленными, а с малым - хорошо обусловленными.
Число обусловленности является косвенной мерой погрешности решения, но точно предсказать ее нельзя.
При расчете числа обусловленности необходимо найти норму обратной матрицы, а, соответственно, и саму обратную матрицу, что трудоемко. Но, при неизменяемой матрице коэффициентов СЛАУ, вычисление матрицы, обратной данной, вполне нормальное явление. Тогда легко вычислить нормы данной и обратной матрицы и получить число обусловленности, что и является мерой погрешности.
Для ясности напишем формулу вычисления относительной погрешности
,
где _ относительная погрешность округления ЭВМ.
Поскольку относительная погрешность округления у современных ЭВМ достигает (при 8 байтных чисел с плавающей запятой двойной точности Double) достигает 10-20 порядков (t=48), то относительная погрешность округления чрезвычайно мала, и число обусловленности может достигать сравнительно с этим порядком.
II. Описание метода Гаусса
Метод Гаусса известен в различных вариантах более 2000 лет. Вычисление с помощью метода Гаусса состоят из двух основных этапов, называемых прямым ходом и обратным ходом (обратной подстановкой). Прямой ход метода Гаусса заключается в последовательном исключении неизвестных из системы для преобразования её к эквивалентной системе с верхней треугольной матрицей. Вычисления значений неизвестных производят на этапе обратного хода.
Приведем общего вида.
Обозначим
,
где ,
Прямой ход состоит из n-1 шагов исключения.
1-й шаг: Целью этого шага является исключение неизвестного x1 из уравнений с номерами i=2,..,n. Предположим, что коэффициент a110. Найдём вид матрицы после 1-го шага.
, i=1..n; , , i,j=2..n. , i=2..n. |
, , , |
2-й шаг. Целью этого шага является исключение неизвестного х2 из уравнений с номерами i=3,4,...,m. Пусть а220.
, i=2..n; , , i,j=3..n. , i=3..n. |
, , |
Аналогично проводятся остальные шаги.
Опишем в общей форме прямой ход:
k - номер шага, I - номер строки, j - номер столбца
Цикл для k = 1..n
, j=k+1..n
Цикл для i = k+1..n
, j = k+1
Элементы обнуления или присваивания нуля можно убрать, поскольку они существуют только для наглядности матрицы.
Обратный ход. Из последнего уравнения системы находим xn. Подставляя найденное значение хn в предпоследнее уравнение, получим хn-1. Осуществляя обратную подстановку, далее последовательно находим xm-2,xm-3,...,x1. Вычисления неизвестных производятся по формулам:
,
, (k=n-1,...,1).
В общем виде можно записать один вид для последних 2х формул:
Изобразим это на примере:
Прямой ход.
Шаг N1
,
Шаг N2
Обратный ход.
Для проверки сравним с программой MathCAD
III. Разработка программы
Программа состоит из основной части в которой реализованы все действия метода исключения Гаусса. В отдельную процедуру занесено действие вывода матрицы на экран:
Procedure MatrixPrint;
Begin
For i:=1 to n Do
Begin
For j:=1 to n Do
Write(A[i,j]:6:6);
Write(' | ', b[i]:6:6);
Writeln;
End;
Writeln('Для продолжения нажмите любую клавишу');
Readkey;
End;
Данные хранятся:
A - в двумерный массив 50 x 50 ячеек заносятся элементы матрицы A.
b - в массив 50-ти ячеек заноситься вектор свободных членов, а после выполнения алгоритма в нем хранится вектор полученных неизвестных.
i, j, k: переменные циклов
n: размерность матрицы (число уравнений). 1..50, для решения больших матриц необходимо увеличить размерность в исходном тексте программы массивов A, b на [1..N,1..N] и [1..N] соответвенно, где N - число неизвестных.
q,w - временные переменные используются нахождения нормы и на прямом ходе метода исключения Гаусса.
После запуска программы приглашает к вводу и считывает размерность матрицы. Приглашает к вводу и считывает постепенно по строкам элементы матрицы A, отдельно b.
III.1 Основные задача программы
Выводит введенную СЛАУ.
Рассчитывает первую норму матрицы A, выводит ее.
На каждом шаге прямого метода исключения Гаусса программа выводит матрицу A на экран и ждет нажатия клавиши
Затем проходит обратный ход и выводит результат.
Завершает работу.
III.2 Обзор программного модуля для Турбо Паскаль
{
Решение СЛАУ методом Гаусса
Без выбора ведущего элемента
С использование нормы матрицы ||*||1
}
uses Crt;
Var
A: array[1..50,1..50] of Real;
b: array[1..50] of Real;
i,j,k,n: Integer;
q,w: Real;
Procedure MatrixPrint;
Begin
For i:=1 to n Do
Begin
For j:=1 to n Do
Write(A[i,j]:6:6);
Write(' | ', b[i]:6:6);
Writeln;
End;
Writeln('Для продолжения нажмите любую клавишу');
Readkey;
End;
{Основная программа}
Begin
ClrScr;
Writeln('Решение СЛАУ методом Гаусса ');
Writeln('Без выбора ведущего элемента ');
Writeln('С использование нормы матрицы ||*||1 ');
writeln;
Write('n='); Readln(n);
Writeln('Введите матрицу A по строкам');
for i:= 1 to n Do
begin
For j:=1 to n Do
Read(A[i,j]);
Readln;
Writeln;
end;
Writeln('Введите столбец b');
for i := 1 to n do
readln(b[i]);
WriteLn('Исходная СЛАУ');
MatrixPrint;
{Найдем первую норму матрицы A}
q:=0; w:=0;
for j := 1 to n do
begin
w := 0;
for i := 1 to n do
w := w + abs(a[i,j]);
if w > q then q := w;
end;
writeln('||A||1 = ', q:6:6);
{Прямой ход метода Гаусса}
for k:=1 to n Do
begin
for j:=k+1 to n do
a[k,j] := a[k,j] / a[k,k];
b[k] := b[k] / a[k,k];
a[k,k] := 1;
for i:=k+1 to n Do
begin
q:=a[i,k];
for j:=k+1 to n Do
a[i,j] := a[i,j] - a[i,k]*a[k,j];
b[i] := b[i] - a[i,k]*b[k];
a[i,k] := 0;
End;
WriteLn('СЛАУ на ',k,'м шаге прямого хода');
MatrixPrint;
end{for i};
{Обратный ход метода прямого хода}
for i := n downto 1 do
for j := n downto i+1 do
begin
b[i] := b[i] - a[i,j]*b[j];
a[i,j] := 0;
end;
WriteLn('СЛАУ после обратного хода хода');
MatrixPrint;
WriteLn('Вектор x');
for i:=1 to n do
begin
write('x',i,' = ',b[i]:6:6);
writeln;
end;
writeln('Для выхода нажмите любую клавишу');
readkey;
End.
IV. Решение контрольной задачи
Для проверки программы попробуем рассчитать, рассчитанную вручную в разделе «Описание метода Гаусса» и проверенную на программе MathCAD, систему линейный алгебраических уравнений:
Решение СЛАУ методом Гаусса
Без выбора ведущего элемента
С использование нормы матрицы ||*||1
n=3
Введите матрицу A по строкам
-10 2 4
-7 2 -1
0 3 6
Введите столбец b
9
3
2
Исходная СЛАУ
-10.000000 2.000000 4.000000 | 9.000000
-7.000000 2.000000 -1.000000 | 3.000000
0.000000 3.000000 6.000000 | 2.000000
Для продолжения нажмите любую клавишу
||A||1 = 17.000000
СЛАУ на 1м шаге прямого хода
1.000000 -0.200000 -0.400000 | -0.900000
0.000000 0.600000 -3.800000 | -3.300000
0.000000 3.000000 6.000000 | 2.000000
Для продолжения нажмите любую клавишу
СЛАУ на 2м шаге прямого хода
1.000000 -0.200000 -0.400000 | -0.900000
0.000000 1.000000 -6.333333 | -5.500000
0.000000 0.000000 25.000000 | 18.500000
Для продолжения нажмите любую клавишу
СЛАУ на 3м шаге прямого хода
1.000000 -0.200000 -0.400000 | -0.900000
0.000000 1.000000 -6.333333 | -5.500000
0.000000 0.000000 1.000000 | 0.740000
Для продолжения нажмите любую клавишу
СЛАУ после обратного хода хода
1.000000 -0.200000 -0.400000 | -0.766667
0.000000 1.000000 -6.333333 | -0.813333
0.000000 0.000000 1.000000 | 0.740000
Для продолжения нажмите любую клавишу
Вектор x
x1 = -0.766667
x2 = -0.813333
x3 = 0.740000
Для выхода нажмите любую клавишу
Результаты программы курсовой работы, ручного счета и программы MathCAD совпадают. А из-за того, что каждый шаг прямого ходи при ручном и машинном счете не отличаются, поэтому можно с полной уверенностью сказать, что алгоритм мной реализованный в курсовой работе реализован правильно.
Заключение
В данной курсовой работе был рассмотрен метод исключения Гаусса без выбора ведущего элемента и без поддержки комплексных чисел. Данный метод является универсальным для решения СЛАУ и используется наиболее часто, как самый надёжный метод. Но, не смотря на это, он не является самым лучшим _ число операций, необходимых для решения СЛАУ размерностью n на n составляет около (2/3)*n3 арифметических операций. Также результаты, полученные в результате решения СЛАУ методом Гаусса сильно зависят от выбора ведущего элемента, но данный недостаток можно устранить дополнительной функцией в программе, которая, к сожалению не была написана.
Данную программу также легко приспособить для решения СЛАУ с комплексными числами и можно добавить возможность вывод результата в файл и на принтер.
Это еще не весь список функций и интересных вещей, которые могут быть реализованы при использовании численных методов.
При сравнении с результатами работы профессиональной программы MathCAD погрешности найдено не было, поэтому я доволен результатами, полученными в ходе курсовой работы.
алгебраический уравнение матрица гаус
Список использованной литературы
1. Амосов А.А., Дубинский Ю.А., Копчёнова Н.В.. Вычислительные методы для инженеров: Учеб. Пособие. - М.: Высш. шк., 1994. - 544 с.
2. Архангельский А.Я.. Программирование в Delphi 5. - М.: «Издательство БИНОМ», 2005г. - 1072 с.
3. Корн Г.Т. «Справочник по высшей математике для инженеров и научных работников»; М., изд. Наука.
4. Калиткин Н.Н.. Численные методы. «Наука», 1978 г. -567 с.
Размещено на Allbest.ru
...Подобные документы
Понятие и специфические черты системы линейных алгебраических уравнений. Механизм и этапы решения системы линейных алгебраических уравнений. Сущность метода исключения Гаусса, примеры решения СЛАУ данным методом. Преимущества и недостатки метода Гаусса.
контрольная работа [397,2 K], добавлен 13.12.2010Методы решения систем линейных алгебраических уравнений (СЛАУ): Гаусса и Холецкого, их применение к конкретной задаче. Код программы решения перечисленных методов на языке программирования Borland C++ Builder 6. Понятие точного метода решения СЛАУ.
реферат [58,5 K], добавлен 24.11.2009Метод последовательного исключения неизвестных (метод Гаусса) при решении задач аппроксимации функции в прикладной математике. Метод Гаусса с выбором главного элемента и оценка погрешности при решении системы линейных уравнений, итерационные методы.
контрольная работа [94,4 K], добавлен 04.09.2010Сравнительный анализ численных методов решения систем линейных алгебраических уравнений. Вычисление определителей и обратных матриц. Реализация методов в виде машинных программ на языке высокого уровня и решение задач на ЭВМ. Модификации метода Гаусса.
реферат [85,2 K], добавлен 04.03.2011Изучение основ линейных алгебраических уравнений. Нахождение решения систем данных уравнений методом Гаусса с выбором ведущего элемента в строке, в столбце и в матрице. Выведение исходной матрицы. Основные правила применения метода факторизации.
лабораторная работа [489,3 K], добавлен 28.10.2014Понятие матрицы. Метод Гаусса. Виды матриц. Метод Крамера решения линейных систем. Действия над матрицами: сложение, умножение. Решение систем линейных уравнений методом Гаусса. Элементарные пребразования систем. Математические перобразования.
лекция [45,4 K], добавлен 02.06.2008Характеристика способов решения систем линейных алгебраических уравнений (СЛАУ). Описание проведения вычислений на компьютере методом Гаусса, методом квадратного корня, LU–методом. Реализация метода вращений средствами системы программирования Delphi.
курсовая работа [118,4 K], добавлен 04.05.2014Характеристика и использование итерационных методов для решения систем алгебраических уравнений, способы формирования уравнений. Методы последовательных приближений, Гаусса-Зейделя, обращения и триангуляции матрицы, Халецкого, квадратного корня.
реферат [60,6 K], добавлен 15.08.2009Параллельные методы решения систем линейных уравнений с ленточными матрицами. Метод "встречной прогонки". Реализация метода циклической редукции. Применение метода Гаусса к системам с пятидиагональной матрицей. Результаты численного эксперимента.
курсовая работа [661,7 K], добавлен 21.10.2013Рассмотрение систем линейных алгебраических уравнений общего вида. Сущность теорем и их доказательство. Особенность трапецеидальной матрицы. Решение однородных и неоднородных линейных алгебраических уравнений, их отличия и применение метода Гаусса.
реферат [66,4 K], добавлен 14.08.2009Решение задач вычислительными методами. Решение нелинейных уравнений, систем линейных алгебраических уравнений (метод исключения Гаусса, простой итерации Якоби, метод Зейделя). Приближение функций. Численное интегрирование функций одной переменной.
учебное пособие [581,1 K], добавлен 08.02.2010Задачи вычислительной линейной алгебры. Математическое моделирование разнообразных процессов. Решение систем линейных алгебраических уравнений большой размерности. Метод обратной матрицы и метод Гаусса. Критерии совместности и определенности системы.
курсовая работа [220,0 K], добавлен 21.10.2011Расчет произведения заданных матриц. Решение системы линейных алгебраических уравнений по формулам Крамера, матричным методом и методом Гаусса. Координаты вектора в базисе. Определение ранга заданной матрицы. Система с базисом методом Жордана-Гаусса.
контрольная работа [88,2 K], добавлен 19.01.2014Решение задач систем линейных алгебраических уравнений, матричных уравнений, методы Гаусса и Кремера. Нахождение длины и координат вектора и исчисление его скалярного произведения. Уравнение прямой и определение координат точек неравенства; пределы.
контрольная работа [220,9 K], добавлен 06.01.2011Решение системы линейных уравнений по методу определителей, методом исключения (Гаусса), по методу Жордана и Холецкого. Определение недостатков и достоинств всех методов. Условия совместности и определенности системы в зависимости от коэффициентов.
контрольная работа [518,2 K], добавлен 02.05.2012Основные понятия теории систем уравнений. Метод Гаусса — метод последовательного исключения переменных. Формулы Крамера. Решение систем линейных уравнений методом обратной матрицы. Теорема Кронекер–Капелли. Совместность систем однородных уравнений.
лекция [24,2 K], добавлен 14.12.2010Основные понятия и теоремы систем линейных уравнений, характеристика методов их решения. Критерий совместности общей системы. Структура общих решений однородной и неоднородной систем. Матричный метод решения и обобщение. Методы Крамера и Гаусса.
курсовая работа [154,5 K], добавлен 13.11.2012Математические модели явлений или процессов. Сходимость метода простой итерации. Апостериорная оценка погрешности. Метод вращений линейных систем. Контроль точности и приближенного решения в рамках прямого метода. Метод релаксации и метод Гаусса.
курсовая работа [96,7 K], добавлен 13.04.2011Общий вид системы линейных уравнений и ее основные понятия. Правило Крамера и особенности его применения в системе уравнений. Метод Гаусса решения общей системы линейных уравнений. Использование критерия совместности общей системы линейных уравнений.
контрольная работа [35,1 K], добавлен 24.06.2009Методы решения систем линейных уравнений. Метод Якоби в матричной записи. Достоинство итерационного метода верхних релаксаций, вычислительные погрешности. Метод блочной релаксации. Разбор метода релаксаций в системах линейных уравнений на примере.
курсовая работа [209,1 K], добавлен 27.04.2011