Разработка прикладной программы для решения систем линейных алгебраических уравнений

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

Содержание

 

Введение

. Аналитическая часть

.1 Постановка задачи

.2 Обзор программных средств для решения СЛАУ

.3 Этапы разработки программных систем

. Разработка проекта системы

.1 Описание алгоритма решения СЛАУ

.2 Компьютерная реализация алгоритма решения СЛАУ

. Реализация проекта

.1 Требования к программе

.2 Описание модульных структур

.3 Описание диалога с пользователем

.4 Контрольный пример

Заключение

Список использованной литературы

Приложение

 

Введение

 

Системы линейных уравнений используются во многих областях науки и техники и являются, пожалуй, наиболее часто встречающимися типами математических задач.

Целью данной курсовой работы является изучение основных этапов проектирования программных систем, а также создание прикладной программы выполняющей решение систем линейных алгебраических уравнений методом Гаусса, вычисление определителя и обращение матриц.

Программа должна позволять производить расчеты для СЛАУ с последующим выводом результатов на экран монитора.

Курсовая работа состоит из трех частей: аналитической, алгоритмической и программной. В первой части документации будет представлен обзор методов, связанных с программированием. Во второй будет информация относительно функции и принципов работы алгоритма решения СЛАУ, структурная схема и схема Насси-Шнейдермана для алгоритма. А в третьей части будет рассмотрена структура программы, её назначение и инструкция пользователя и контрольный пример. Также курсовая работа будет содержать приложение - листинг программы.

 

 

1. Аналитическая часть

 

1.1Постановка задачи

 

Разработка программного обеспечения для решения систем линейных алгебраических уравнений численными методами.

Задание: Методом Гаусса решить систему линейных алгебраических уравнений Аx = b, вычислить определитель и обратную матрицу заданной системы.

К задачам линейной алгебры относятся задачи: решения систем линейных алгебраических уравнений (СЛАУ), нахождения обратных матриц, вычисления определителей матриц, нахождения собственных векторов и собственных чисел матриц. Как показывают исследования, 75 % всех расчетных математических задач приходится на решение СЛАУ. Это объясняется тем, что большинство моделей физических систем сами по себе являются линейными. К системам линейных алгебраических уравнений сводятся после дискретизации системы дифференциальных и интегральных уравнений. Линейные алгебраические уравнения являются также результатом локальной линеаризации систем нелинейных уравнений.

Задача численного решения СЛАУ имеет незапамятную историю. Следует заметить, что классический метод исключения, активно изучаемый и развиваемый даже в наши дни, был открыт Гауссом в 1849 г. Однако задолго до этого в Древнем Китае были изданы Девять книг о математическом искусстве, где этот алгоритм уже был изложен в характерной для того времени натуральной форме.

Несмотря на большие теоретические достижения в области решения СЛАУ и бурный рост вычислительных мощностей современных ЭВМ, проблема конструирования и исследования быстрых алгоритмов решения СЛАУ продолжает оставаться актуальной. Возникающие практические задачи требуют от вычислительных методов все большей точности и надежности. Поэтому можно говорить о постоянном дефиците машинных ресурсов, который стимулирует как постоянное наращивание вычислительных мощностей, так и разработку новых вычислительных алгоритмов. Причем, наибольший эффект дают алгоритмы, учитывающие особенности структуры матриц коэффициентов решаемых задач: ленточность, блочность, разреженность.

Численные методы решения СЛАУ делятся на две большие группы: конечные (точные) и приближенные (итерационные).

Конечными (точными) методами называются такие методы, в которых решение получается за конечное число элементарных арифметических операций, зависящее только от порядка системы n . Если элементы исходной матрицы A и вектора правой части B являются целыми или рациональными числами, представленными в виде обыкновенных дробей, и все действия выполняются точно по правилам действий над обыкновенными дробями, то результат будет абсолютно точным. Отсюда и второе название этих методов точные. Однако при произвольном задании элементов матрицы A и вектора правой части B решение, полученное за конечное число шагов, уже не будет абсолютно точным. Его точность будет определяться точностью выполнения арифметических операций на данной ЭВМ.

В приближенных, или итерационных, методах решение получается в результате последовательного приближения, начиная от некоторого начального заданного значения. Количество шагов, приводящее к решению, заранее неизвестно и зависит как от типа решаемой системы, так и от выбора вектора начального приближения.

Метод Гаусса, который рассматривается в работе, относится к точным методам.

 

1.2 Обзор программных средств для решения СЛАУ

 

Во все времена инженерам, исследователям (т.е. специалистам в своих областях) был необходим удобный и достаточно эффективный (для своего времени) инструмент для решения своих задач. В этот инструментальный ряд можно включить логарифмическую линейку, арифмометр, калькулятор, универсальную ЭВМ, персональный компьютер. При использовании вычислительной техники встала проблема