49434 (Численное решение системы линейных уравнений с помощью метода исключения Гаусса с выбором главного элемента по столбцу), страница 2
Описание файла
Документ из архива "Численное решение системы линейных уравнений с помощью метода исключения Гаусса с выбором главного элемента по столбцу", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "49434"
Текст 2 страницы из документа "49434"
(SETQ OTV (MAKE-ARRAY 50 :ELEMENT-TYPE 'INTEGER :INITIAL-ELEMENT 0))
(SETQ RES (MAKE-ARRAY N :ELEMENT-TYPE 'INTEGER :INITIAL-ELEMENT 0))
;СНАЧАЛА ВСЕ КОРНИ ПО ПОРЯДКУ
(DO
((I 0))
((>= I (+ N 1)))
(SETF (AREF OTV I) I)
(SETQ I (+ I 1))
)
;ПРЯМОЙ ХОД МЕТОДА ГАУССА
(DO
((K 0))
((>= K N))
;ОПРЕДЕЛЯЕМ НА КАКОЙ ПОЗИЦИИ ДОЛЖЕН СТОЯТЬ ГЛАВНЫЙ ЭЛЕМЕНТ
(GLAV_EL K MATRIX N OTV)
(IF (< (ABS (AREF MATRIX K K)) 0.0001) (PRINT "SYSTEMA NE IMEET EDINSTVENNOGO RESHENIYA"))
(DO
((J N))
((< J K))
(SETF (AREF MATRIX K J) (FLOAT (/ (AREF MATRIX K J) (AREF MATRIX K K))))
(SETQ J (- J 1))
)
(DO
((I (+ K 1)))
((>= I N))
(DO
((J N))
((< J K))
(SETF (AREF MATRIX I J) (- (AREF MATRIX I J) (* (AREF MATRIX K J) (AREF MATRIX I K))))
(SETQ J (- J 1))
)
(SETQ I (+ I 1))
)
(SETQ K (+ K 1))
)
;ОБРАТНЫЙ КОД
(DO
((I 0))
((>= I N))
(SETF (AREF X I) (AREF MATRIX I N))
(SETQ I (+ I 1))
)
(DO
((I (- N 2)))
((< I 0))
(DO
((J (+ I 1)))
((>= J N))
(SETF (AREF X I) (- (AREF X I) (* (AREF X J) (AREF MATRIX I J))))
(SETQ J (+ J 1))
)
(SETQ I (- I 1))
)
(DO
((I 0) (INDEX 0))
((>= I N) RES)
(DO
((J 0))
((>= J N))
;РАССТАВЛЯЕМ КОРНИ ПО ПОРЯДКУ
(IF (= I (AREF OTV J))
(PROGN
(SETF (AREF RES INDEX) (AREF X J))
(SETQ INDEX (+ INDEX 1))
)
)
(SETQ J (+ J 1))
)
(SETQ I (+ I 1))
)
(SETQ X RES)
)
(SETQINPUT_STREAM(OPEN " D:\GAUSS_MATRIX.TXT" :DIRECTION :INPUT))
;ПОЛУЧАЕМ РАЗМЕРНОСТЬ МАТРИЦЫ
(SETF N (READINPUT_STREAM))
;ПОЛУЧАЕМ МАТРИЦУ
(SETF MATRIX (READINPUT_STREAM))
(CLOSEINPUT_STREAM)
(SETQ X (MAKE-ARRAY 50 :ELEMENT-TYPE 'INTEGER :INITIAL-ELEMENT 0))
(SETQ RES (GAUSS MATRIX N X))
;ЗАПИСЫВАЕМ КОРНИ СЛАУ В ФАЙЛ
(SETQOUTPUT_STREAM(OPEN " D:\KORNI_SLAY.TXT" :DIRECTION :OUTPUT))
(PRINT RES OUTPUT_STREAM)
(TERPRIOUTPUT_STREAM)
(CLOSEOUTPUT_STREAM)
5 Пример выполнения программы
Пример 1.
Рисунок 2 – Входные данные
Рисунок 3 – Выходные данные
Пример 2.
Рисунок 4 – Входные данные
Рисунок 5 – Выходные данные
Пример 3.
Рисунок 6 – Входные данные
Рисунок 7 – Выходные данные
-
ЗАКЛЮЧЕНИЕ
Проблема повышения качества вычислений, как несоответствие между желаемым и действительным, существует и будет существовать в дальнейшем. Ее решению будет содействовать развитие информационных технологий, которое заключается как в совершенствовании методов организации информационных процессов, так и их реализации с помощью конкретных инструментов – сред и языков программирования.
Итогом работы можно считать созданную функциональную модель численного решения системы линейных уравнений с помощью метода исключения Гаусса с выбором главного элемента по столбцу. Созданная функциональная модель и ее программная реализация могут служить органической частью решения более сложных задач.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ и литературы
-
Бронштейн, И.Н. Справочник по математике для инженеров и учащихся втузов [Текст] / И.Н. Бронштейн, К.А. Семендяев. – М.: Наука, 2007. – 708 с.
-
Васильев, Ф.П. Численные методы решения экстремальных задач. [Текст] / Ф.П. Васильев – М.: Наука, 2002. C. 415.
-
Высшая документация – Online документация [Электронный ресурс] – Режим доступа: http://vm.psati.ru/online-vmath/index.php?page=8
-
Калиткин, Н.Н. Численные методы. [Электронный ресурс] / Н.Н. Калиткин. – М.: Питер, 2001. С. 504.
-
Кнут, Д.Э. Искусство программирования. Основные алгоритмы [Текст] / Д.Э. Кнут. – М.: Вильямс, 2007. Т.1.– 712 с.
-
Метод Гаусса [Электронный ресурс] – Режим доступа: http://www.wikipedia.org/wiki/Метод_Гаусса.
-
Симанков, В.С. Основы функционального программирования [Текст] / В.С. Симанков, Т.Т. Зангиев, И.В. Зайцев. – Краснодар: КубГТУ, 2002. – 160 с.
-
Степанов, П.А. Функциональное программирование на языке Lisp. [Электронный ресурс] / П.А.Степанов, А.В. Бржезовский. – М.: ГУАП, 2003. С. 79.
-
Хювенен Э. Мир Лиспа [Текст] / Э. Хювенен, Й. Сеппянен. – М.: Мир, 1990. – 460 с.