Разработка прикладной программы для решения систем линейных алгебраических уравнений
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
Содержание
Введение
. Аналитическая часть
.1 Постановка задачи
.2 Обзор программных средств для решения СЛАУ
.3 Этапы разработки программных систем
. Разработка проекта системы
.1 Описание алгоритма решения СЛАУ
.2 Компьютерная реализация алгоритма решения СЛАУ
. Реализация проекта
.1 Требования к программе
.2 Описание модульных структур
.3 Описание диалога с пользователем
.4 Контрольный пример
Заключение
Список использованной литературы
Приложение
Введение
Системы линейных уравнений используются во многих областях науки и техники и являются, пожалуй, наиболее часто встречающимися типами математических задач.
Целью данной курсовой работы является изучение основных этапов проектирования программных систем, а также создание прикладной программы выполняющей решение систем линейных алгебраических уравнений методом Гаусса, вычисление определителя и обращение матриц.
Программа должна позволять производить расчеты для СЛАУ с последующим выводом результатов на экран монитора.
Курсовая работа состоит из трех частей: аналитической, алгоритмической и программной. В первой части документации будет представлен обзор методов, связанных с программированием. Во второй будет информация относительно функции и принципов работы алгоритма решения СЛАУ, структурная схема и схема Насси-Шнейдермана для алгоритма. А в третьей части будет рассмотрена структура программы, её назначение и инструкция пользователя и контрольный пример. Также курсовая работа будет содержать приложение - листинг программы.
1. Аналитическая часть
1.1Постановка задачи
Разработка программного обеспечения для решения систем линейных алгебраических уравнений численными методами.
Задание: Методом Гаусса решить систему линейных алгебраических уравнений Аx = b, вычислить определитель и обратную матрицу заданной системы.
К задачам линейной алгебры относятся задачи: решения систем линейных алгебраических уравнений (СЛАУ), нахождения обратных матриц, вычисления определителей матриц, нахождения собственных векторов и собственных чисел матриц. Как показывают исследования, 75 % всех расчетных математических задач приходится на решение СЛАУ. Это объясняется тем, что большинство моделей физических систем сами по себе являются линейными. К системам линейных алгебраических уравнений сводятся после дискретизации системы дифференциальных и интегральных уравнений. Линейные алгебраические уравнения являются также результатом локальной линеаризации систем нелинейных уравнений.
Задача численного решения СЛАУ имеет незапамятную историю. Следует заметить, что классический метод исключения, активно изучаемый и развиваемый даже в наши дни, был открыт Гауссом в 1849 г. Однако задолго до этого в Древнем Китае были изданы Девять книг о математическом искусстве, где этот алгоритм уже был изложен в характерной для того времени натуральной форме.
Несмотря на большие теоретические достижения в области решения СЛАУ и бурный рост вычислительных мощностей современных ЭВМ, проблема конструирования и исследования быстрых алгоритмов решения СЛАУ продолжает оставаться актуальной. Возникающие практические задачи требуют от вычислительных методов все большей точности и надежности. Поэтому можно говорить о постоянном дефиците машинных ресурсов, который стимулирует как постоянное наращивание вычислительных мощностей, так и разработку новых вычислительных алгоритмов. Причем, наибольший эффект дают алгоритмы, учитывающие особенности структуры матриц коэффициентов решаемых задач: ленточность, блочность, разреженность.
Численные методы решения СЛАУ делятся на две большие группы: конечные (точные) и приближенные (итерационные).
Конечными (точными) методами называются такие методы, в которых решение получается за конечное число элементарных арифметических операций, зависящее только от порядка системы n . Если элементы исходной матрицы A и вектора правой части B являются целыми или рациональными числами, представленными в виде обыкновенных дробей, и все действия выполняются точно по правилам действий над обыкновенными дробями, то результат будет абсолютно точным. Отсюда и второе название этих методов точные. Однако при произвольном задании элементов матрицы A и вектора правой части B решение, полученное за конечное число шагов, уже не будет абсолютно точным. Его точность будет определяться точностью выполнения арифметических операций на данной ЭВМ.
В приближенных, или итерационных, методах решение получается в результате последовательного приближения, начиная от некоторого начального заданного значения. Количество шагов, приводящее к решению, заранее неизвестно и зависит как от типа решаемой системы, так и от выбора вектора начального приближения.
Метод Гаусса, который рассматривается в работе, относится к точным методам.
1.2 Обзор программных средств для решения СЛАУ
Во все времена инженерам, исследователям (т.е. специалистам в своих областях) был необходим удобный и достаточно эффективный (для своего времени) инструмент для решения своих задач. В этот инструментальный ряд можно включить логарифмическую линейку, арифмометр, калькулятор, универсальную ЭВМ, персональный компьютер. При использовании вычислительной техники встала проблема