47516 (608285), страница 2

Файл №608285 47516 (ЛИСП-реализация операций над матрицами) 2 страница47516 (608285) страница 22016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

)

)

;ПРОИЗВЕДЕНИЕ МАТРИЦЫ НА ЧИСЛО L

(DEFUN MULT_NUMBER (MATR ROW COL L)

(DECLARE (SPECIAL RES_MATRIX))

;ОБНУЛЯЕМ МАТРИЦУ РЕЗУЛЬТАТ

(SETQ RES_MATRIX (MAKE-ARRAY (LIST ROW COL) :ELEMENT-TYPE 'INTEGER :INITIAL-ELEMENT 0))

(DO

((I 0))

((>= I ROW))

(DO

((J 0))

((>= J COL))

(SETF (AREF RES_MATRIX I J) (* L (AREF MATR I J)))

(SETQ J (+ J 1))

)

(SETQ I (+ I 1))

)

RES_MATRIX

)

;ПРОИЗВЕДЕНИЕ МАТРИЦ

(DEFUN MULT_MATRIX (MATR1 MATR2 R1 R2 C1 C2)

(DECLARE (SPECIAL TEMP))

(DECLARE (SPECIAL RES_MATRIX))

(SETQ TEMP 0)

(IF (/= C1 R2) '"It is not possible to calculate products of matrices"

(PROGN

;ОБНУЛЯЕМ МАТРИЦУ РЕЗУЛЬТАТ

(SETQ RES_MATRIX (MAKE-ARRAY (LIST R1 C2) :ELEMENT-TYPE 'INTEGER :INITIAL-ELEMENT 0))

(DO

((I 0))

((>= I R1))

(DO

((J 0))

((>= J C2))

(SETQ TEMP 0)

(DO

((P 0))

((>= P C1))

(SETQ TEMP (+ TEMP (* (AREF MATR1 I P) (AREF MATR2 P J))))

(SETQ P (+ P 1))

)

(SETF (AREF RES_MATRIX I J) TEMP)

(SETQ J (+ J 1))

)

(SETQ I (+ I 1))

)

RES_MATRIX

)

)

)

;ТРАНСПОНИРОВАНИЕ МАТРИЦЫ

(DEFUN FLIP (MATR ROW COL)

(DECLARE (SPECIAL RES_MATRIX))

;ЕСЛИ КОЛИЧЕСТВО СТРОК И СТОЛБЦОВ НЕ РАВНО МАТРИЦУ НЕЛЬЗЯ ТРАНСПОНИРОВАТЬ

(IF (/= ROW COL) '"It is not possible to flip matrice"

(PROGN

;ОБНУЛЯЕМ МАТРИЦУ РЕЗУЛЬТАТ

(SETQ RES_MATRIX (MAKE-ARRAY (LIST COL ROW) :ELEMENT-TYPE 'INTEGER :INITIAL-ELEMENT 0))

(DO

((I 0))

((>= I ROW))

(DO

((J 0))

((>= J COL))

(SETF (AREF RES_MATRIX I J) (AREF MATR J I))

(SETQ J (+ J 1))

)

(SETQ I (+ I 1))

)

RES_MATRIX

)

)

)

;ПРИМЕНЕНИЕ "УМНОЖЕНИЯ МАТРИЦЫ НА ЧИСЛО" ДЛЯ СПИСКА

(DEFUN MULT1 (NUM)

(PRINT (MULT_NUMBER MATRIX1 ROW1 COL1 NUM) OUTPUT_STREAM)

)

;ПРИМЕНЕНИЕ "УМНОЖЕНИЯ МАТРИЦЫ НА ЧИСЛО" ДЛЯ СПИСКА

(DEFUN MULT2 (NUM)

(PRINT (MULT_NUMBER MATRIX2 ROW2 COL2 NUM) OUTPUT_STREAM)

)

;ЗАПИСЫВАЕМ РЕЗУЛЬТАТ

(SETQ OUTPUT_STREAM (OPEN " D:\RESULT.TXT" :DIRECTION :OUTPUT))

;МАТРИЦА 1

(PRINT (LIST 'MATRIX_1 MATRIX1) OUTPUT_STREAM)

;МАТРИЦА 2

(PRINT (LIST 'MATRIX_2 MATRIX2) OUTPUT_STREAM)

(PRINT '---------------------------- OUTPUT_STREAM)

;СЛОЖЕНИЕ МАТРИЦ

(PRINT (LIST 'SUM_MATRIX (SUM_MATRIX MATRIX1 MATRIX2 ROW1 ROW2 COL1 COL2)) OUTPUT_STREAM)

;РАЗНОСТЬ МАТРИЦ

(PRINT (LIST 'DIFFERENCE_MATRIX (SUBTR_MATRIX MATRIX1 MATRIX2 ROW1 ROW2 COL1 COL2)) OUTPUT_STREAM)

;УМНОЖЕНИЕ МАТРИЦ

(PRINT (LIST 'MULTIPLICATION_MATRIX (MULT_MATRIX MATRIX1 MATRIX2 ROW1 ROW2 COL1 COL2)) OUTPUT_STREAM)

(PRINT '---------------------------- OUTPUT_STREAM)

;ТРАНСПОНИРОВАНИЕ МАТРИЦЫ1

(PRINT (LIST 'FLIP_MATRIX1 (FLIP MATRIX1 ROW1 COL1)) OUTPUT_STREAM)

;ТРАНСПОНИРОВАНИЕ МАТРИЦЫ2

(PRINT (LIST 'FLIP_MATRIX2 (FLIP MATRIX2 ROW2 COL2)) OUTPUT_STREAM)

(PRINT '---------------------------- OUTPUT_STREAM)

;УМНОЖЕНИЕ МАТРИЦЫ1 НА ЧИСЛО

(PRINT 'MULTIPLICATION_MATRIX_ON_NUMBER OUTPUT_STREAM)

(PRINT (LIST 'NUMBERS LIST_NUM1) OUTPUT_STREAM)

(PRINT 'MATRIX1 OUTPUT_STREAM)

(MAPCAR 'MULT1 LIST_NUM1)

(PRINT '---------------------------- OUTPUT_STREAM)

;УМНОЖЕНИЕ МАТРИЦЫ2 НА ЧИСЛО

(PRINT (LIST 'NUMBERS LIST_NUM2) OUTPUT_STREAM)

(PRINT 'MATRIX2 OUTPUT_STREAM)

(MAPCAR 'MULT2 LIST_NUM2)

(TERPRI OUTPUT_STREAM)

(CLOSE OUTPUT_STREAM)

5 Пример выполнения программы

Пример 1.

Рисунок 8 – Входные данные

Рисунок 9 – Выходные данные

Пример 2.

Рисунок 10 – Входные данные

Рисунок 11 – Выходные данные

Заключение

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

Итогом работы можно считать созданную функциональную модель для реализации операций над матрицами. Данная модель применима к матрицам любой размерности. Созданная функциональная модель и ее программная реализация могут служить органической частью решения более сложных задач.

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

  1. Гантмахер, Ф.Р. Теория матриц (издание третье). [Электронный ресурс] / Ф.Р.Гантмахер. – М.: Наука, 2002, С. 218.

  2. Дадаян, А.А. Алгебра и геометрия. [Текст] / А.А Дадаян, В.А.Дударенко. – М.: Минск, 1999. С. 342.

  3. Калиткин, Н.Н. Численные методы. [Электронный ресурс] / Н.Н.Калиткин. – М.: Питер, 2001. С. 504.

  4. Камалян, Р.З. Высшая математика. [Текст] / Р.З.Камалян. – М.: ИМСИТ, 2004. С.310.

  5. Степанов, П.А. Функциональное программирование на языке Lisp. [Электронный ресурс] / П.А.Степанов, А.В.Бржезовский. – М.: ГУАП, 2003. С. 79.

8


Характеристики

Тип файла
Документ
Размер
10,93 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7104
Авторов
на СтудИзбе
255
Средний доход
с одного платного файла
Обучение Подробнее