ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ФАВТ

РАЗРАБОТКА ПРОГРАММЫ ДЛЯ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ

Пояснительная записка

Курсовая работа по дисциплине

"Информатика"

ТПЖА.12203-01 81 01 ПЗ

Разработал студент гр. СК-00 ____________ /А. И. Иванов/

Руководитель преподаватель

ФАВТ  ____________ / К. И. Петров/

Курсовая работа защищена с оценкой“___________” “__”_____2002 г.

Киров 2002


Реферат

А. И. Иванов. Разработка программы для решения систем линейных уравнений: ТПЖА 12203-01 81 01 ПЗ. Курсовая работа/ВятГУ, ФАВТ, рук. К. И. Петров – Киров, 2002. ПЗ 7 с., 3 табл., 8 рис., 4 источника, 4 прил.; програм. докум. 18 л.

 

СИСТЕМА ЛИНЕЙНЫХ УРАВНЕНИЙ, МЕТОД ЗЕЙДЕЛЯ, МЕТОД ПРОСТЫХ ИТЕРАЦИЙ, МАТРИЦА КОЭФФИЦИЕНТОВ, ВЕКТОР СВОБОДНЫХ ЧЛЕНОВ, УСЛОВИЕ СХОДИМОСТИ

Объектом исследования являются итерационные методы решения систем линейных алгебраических уравнений (далее СЛАУ): метод простых итераций и метод Зейделя.

Цель работы – разработка программы для решения СЛАУ с произвольным количеством уравнений.

Для получения вектора решений СЛАУ реализованы методы Зейделя и простых итераций.

Недостатком исследуемого метода – невозможность нахождения решения за конечное число итераций даже при отсутствии вычислительной погрешности.

Результаты проведённой работы могут быть использованы при решении СЛАУ с произвольным количеством уравнений.

Среда программирования – Borland C.

 


Содержание

Введение 2

1 Анализ задания и выбор метода решения 3

1.1 Анализ задания 3

1.2 Выбор метода решения 3

1.2.1 Метод простых итераций 4

1.2.2 Метод Зейделя 4

2 Реализация метода решения задачи 5

2.1 Контроль входной информации 5

2.2 Формат вывода выходной информации 5

2.3 Выбор типов входных, рабочих и выходных переменных,

используемых в программе 6

2.4 Проектирование программы 6

2.5 Анализ результата 6

Заключение 7

Приложение А (обязательное) Разработка программы для решения систем линейных уравнений. Описание программы. ТПЖА.12203-01 13 01 8

Приложение Б (обязательное). Разработка программы для решения систем линейных уравнений. Руководство пользователя. ТПЖА.12203-01 34 01..

Приложение В (обязательное). Разработка программы для решения систем линейных уравнений. Текст программы. ТПЖА.12203-01 12 01 23

Приложение Г (справочное) 45

 


Введение

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

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

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

 

1 Анализ задания и выбор метода решения

1.1 Анализ задания

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

Для удобства тестирования программа должна обладать понятным и логичным интерфейсом, рассчитанным на неопытного пользователя.

1.2 Выбор метода решения

В соответствии с заданием на курсовую работу в программе реализованы итерационные методы: простых итераций и Зейделя.

Пусть ищется решение невырожденной системы уравнений[1]

 .

(1)

Первым шагом в итерационном методе является преобразование исходной системы к виду[1]

 ,

(2)

где матрицы С, В и вектор d определяются по матрицы А и вектору b. Причём системы (1) и (2) являются эквивалентными, т.е. их решения совпадают, а построение обратной матрицы С-1 проще, чем А-1. [1]

Вторым шагом является расстановка индексов или номеров приближений в (2) и задание нулевого приближения. Например,

 

(3)

где - заданный вектор [1]

Третьим шагом итерационного метода является обоснование сходимости последовательных приближений , полученных из (3), к точному решению х системы и оценка погрешности k-го приближения[1]

 

(4)

Оценка (4) при заданном позволяет остановить итерационный про-цесс (3). [1]

Различные итерационные методы отличаются первыми двумя шагами, а выбор конкретного метода должен производиться на основании оценки(4). [1]

1.2.1 Метод простых итераций

В методе простых итераций матрица С (2) выбирается единичной: С=Е. Итерационный процесс описывается формулой

 

(5)

где - заданный вектор. [1]

1.2.2 Метод Зейделя

Отличие метода Зейделя от простой итерации состоит лишь в том, что при вычислении (k+1)-го приближения полученные компоненты вектора сразу же используются в вычислениях. В матричной записи это можно представить так:

 

где матрицы U и L получены разложением В в сумму:

 

матрица U – верхняя треугольная часть B, включая диагональ; L – нижняя поддиагональная часть В. [1]

Таким образом метод Зейделя можно записать в следующей форме

 

(6)

Заметим, что построение матрицы, обратной , не представляет труда, так как это нижняя треугольная матрица. [1]

2 Реализация метода решения задачи

2.1 Контроль входной информации

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

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

2.2 Формат вывода выходной информации

Вывод результатов расчёта производится в окне Output.

В окне выводится исходная СЛАУ, ниже вектор решений, а также число итераций, необходимых для нахождения решения.

2.3 Выбор типов входных, рабочих и выходных переменных, используемых в программе

В программе использованы следующие переменные:

char ch

int s

int n

double **A

double *B

double *X

bool inpflag=false

bool decflag=false

перемещение между окнами

число итераций

размерность матриц

матрица коэффициентов

вектор свободных членов

вектор решений

флажок выполнения операции ввода

флажок выполнения операции решения


Информация о работе «Разработка программы для решения систем линейных уравнений»
Раздел: Информатика, программирование
Количество знаков с пробелами: 33428
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
17526
1
7

... , ary2s Типы данных для переменных, в которых хранятся значения коэффициентов системы Unit2 Gauss1 Процедура для решения системы линейных уравнений методом Гаусса Unit2 Gaussj Процедура для решения системы линейных уравнений методом Жордана-Гаусса Unit2 i,j,l Счетчики Unit1 prover Промежуточная переменная типа String, используется для проверки наличия букв среди коэффициентов ...

Скачать
33571
2
14

... Рисунок 1.1 - Схема информационных потоков для вычисления СЛАУ методом Гаусса Условные обозначения к рисунку 2.1:  - данные, вводимые с клавиатуры  - данные, хранящиеся на диске  - данные, выводимые на экран 2. Решение систем линейных алгебраических уравнений методом гаусса 2.1 Основные понятия Система линейных алгебраических уравнений (СЛАУ) из m уравнений с n неизвестными ...

Скачать
25868
1
6

... строке матрицы i2-ю, умноженную на число r; процедура MultMatr предназначена для умножения матриц. Функция Sign используется для изменения знака на противоположный при вычислении обратной матрицы. Программа настроена на решение системы 3-х линейных уравнений с тремя неизвестными. Чтобы решить систему из 2-х уравнений с 2-мя неизвестными необходимо в программе изменить значение константы N с ...

Скачать
22411
1
13

... шаг интегрирования ; tp – время интегрирования трех точечным методом прогноза и коррекции , ta – время интегрирования по методу Адамса-Башфорта , NU – массив начальных условий . Данная процедура способна производить решения систем линейных дифференциальных уравнений произвольного размера , на произвольном промежутке времени интегрирования . Вычисленные данные записываются в файлы prandcom*.df . ...

0 комментариев


Наверх