рефератырефератырефератырефератырефератырефератырефератырефераты

рефераты, скачать реферат, современные рефераты, реферат на тему, рефераты бесплатно, банк рефератов, реферат культура, виды рефератов, бесплатные рефераты, экономический реферат

"САМЫЙ БОЛЬШОЙ БАНК РЕФЕРАТОВ"

Портал Рефератов

рефераты
рефераты
рефераты

Лисп-реализация математических операций над комплексными числами

Содержание

Введение

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

  • 2. Математические и алгоритмические основы решения задачи
  • 2.1 Понятие о комплексных числах
  • 2.2 Действия с комплексными числами
  • 2.2.1 Сложение комплексных чисел
  • 2.2.2 Вычитание комплексных чисел
  • 2.2.3 Произведение комплексных чисел
  • 2.2.4 Деление комплексных чисел
  • 3. Функциональные модели и блок-схемы решения задачи
  • 4 Программная реализация решения задачи
  • 5. Пример выполнения программы
  • Заключение
  • Список использованных источников и литературы

Введение

Решение многих задач физики и техники приводит к квадратным уравнениям с отрицательным дискриминантом. Эти уравнения не имеют решения в области действительных чисел. Но решение многих таких задач имеет вполне определенный физический смысл. Значение величин, получающихся в результате решения указанных уравнений, назвали комплексными числами.

Комплексные числа широко использовал отец русской авиации Н.Е.Жуковский (1847 - 1921) при разработке теории крыла, автором которой он является.

Комплексные числа и функции от комплексного переменного находят применение во многих вопросах науки и техники.

Цель настоящей курсовой работы: Лисп-реализация математических операций над комплексными числами.

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

Требуется разработать программу, реализующую математические операции над комплексными числами, опираясь на следующие правила выполнения операций:

1). Сложение:

.

2). Вычитание:

.

3). Умножение:

.

4). Деление:

.

Пример 1.

Выполнить сложение двух комплексных чисел: и .

Решение:

.

Ответ: .

Пример 2.

Выполнить вычитания двух комплексных чисел: и .

Решение:

.

Ответ: .

Пример 3.

Выполнить умножение двух комплексных чисел: и .

Решение:

.

Ответ: .

Пример 4.

Выполнить деление двух комплексных чисел: и .

Решение:

.

Ответ: i.

2. Математические и алгоритмические основы решения задачи

2.1 Понятие о комплексных числах

Для решения алгебраических уравнений недостаточно действительных чисел. Поэтому естественно стремление сделать эти уравнения разрешимыми, что в свою очередь приводит к расширению понятия числа. Например, для того чтобы любое уравнение x+a=b имело корни, положительных чисел недостаточно и поэтому возникает потребность ввести отрицательные числа и нуль.

Древнегреческие математики считали, что a=c и b=а только натуральные числа, но в практических расчетах за два тысячелетия до нашей эры в Древнем Египте и Древнем Вавилоне уже применялись дроби. Следующим важным этапом в развитии понятия о числе было введение отрицательных чисел - это было сделано китайскими математиками за 2 века до нашей эры. Отрицательные числа применял в 3 веке нашей эры древнегреческий математик Диофант, знавший уже правила действий над ними, а в 7 веке нашей эры эти числа подробно изучили индийские ученые, которые сравнивали такие числа с долгом. С помощью отрицательных чисел можно было единым образом описывать изменение величин. Уже в 8 веке нашей эры было установлено, что квадратный корень из положительного числа имеет два значение - положительное и отрицательное, а из отрицательных чисел квадратные корни извлечь нельзя: нет такого числа х, чтобы х2 = -9. В 16 веке в связи с изучением кубических уравнений оказалось необходимым извлекать квадратные корни из отрицательных чисел. В формуле для решения кубических уравнений содержатся кубические и квадратные корни. Эта формула безотказно действует в случае, когда уравнение имеет один действительный корень (например, для уравнения  х3+3х-4=0), а если оно имело 3 действительных корня (например, х3-7х+6=0), то под знаком квадратного корня оказывалось отрицательное число. Получалось, что путь к этим 3 корням уравнения ведет через невозможную операцию извлечения квадратного корня из отрицательного числа.

Чтобы объяснить получившийся парадокс, итальянский алгебраист Дж.  Кардано в 1545 предложил ввести числа новой природы. Он показал, что система уравнений х+у=10, ху=40 не имеющая решений в множестве действительных чисел, имеет решение всегда , , нужно только условиться действовать над такими выражениями по правилам обычной алгебры и считать, что . Кардано называл такие величины  «чисто отрицательными» и даже «софистически отрицательными», считая их бесполезными и стремился не применять их. В самом деле, с помощью таких чисел нельзя выразить ни результат измерения какой-нибудь величины, ни изменение этой величины. Но уже в 1572 г. вышла книга итальянского алгебраиста Р. Бомбелли, в котором были установлены первые правила арифметических операций над такими числами, вплоть до извлечения из них кубических корней. Название «мнимые числа» ввел в 1637г. французский математик и философ Р. Декарт, а в 1777г. один из крупнейших математиков VIII века Х. Эйлер предложил использовать первую букву французского числа (мнимой единицы), этот символ вошел во всеобщее употребление благодаря К. Гауссу (1831г).

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

В конце 18 века французский математик Ж. Лагранж смог сказать, что математический анализ уже не затрудняют мнимые величины. С помощью комплексных чисел научились выражать решения линейных дифференциальных уравнений с постоянным коэффициентом. Такие уравнения встречаются, например, в теории колебаний материальной точки в сопротивляющейся среде. Я. Бернулли применил комплексные числа для вычисления интегралов. Хотя в течении 18 века с помощью комплексных чисел были решены многие вопросы, в том числе и прикладные задачи, связанные с картографией, гидродинамикой и т. д., однако еще не было строго логического обоснования теории этих чисел. Поэтому французский ученый П. Лаплас считал, что результаты, получаемые с помощью мнимых чисел, - только наведение, приобретающие характер настоящих истин лишь после подтверждения прямыми доказательствами. В конце 18- начале 19 веков было получено геометрическое истолкование комплексных чисел. Датчанин Г.Вессель, француз Ж. Арган и немец К. Гаусс независимо друг от друга предложили изображать комплексное число точкой М(а,b) на координатной плоскости. Позднее оказалось, что еще удобнее изображать число не самой точкой М, а вектором ОМ, идущим в эту точку из начала координат. При таком истолковании сложению и вычитанию комплексных чисел соответствуют эти же операции над векторами.

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

2.2 Действия с комплексными числами

Рассмотрим решение квадратного уравнения х2 +1 = 0. Отсюда х2  = -1. Число х, квадрат которого равен -1, называется мнимой единицей и обозначается i. Таким образом , i2 = -1, откуда . Решение квадратного уравнения, например, х2 - 8х + 25 = 0, можно записать следующим образом:

.

Числа вида 4+3i и 4-3i называют комплексными числами. В общем виде комплексное число записывается а + bi, где a и b- действительные  числа, а i - мнимая единица. Число а называется действительной частью комплексного числа, bi-мнимой частью этого числа, b- коэффициентом мнимой части комплексного числа.

2.2.1 Сложение комплексных чисел

Суммой двух комплексных чисел z1 = a + bi и z2 = c + di называется комплексное число z = (a+c) + (b+d)i.  Числа a + bi и a-bi называются сопряженными. Их сумма равна действительному числу 2а,

(а+bi) + (а-bi) = 2а.

Числа а+bi и -a-bi называются противоположными. Их сумма равна нулю. Комплексные числа равны, если равны их действительные части и коэффициенты мнимых частей: а+bi = c+di, если a = c, b = d.   Комплексное число равно нулю тогда, когда его действительная часть и коэффициент мнимой части равны нулю, т.е. z=a + bi = 0, если a=0, b=0.  Действительные числа являются частным случаем комплексных чисел. Если b=0, то a+bi=a - действительное число. Если а = 0, , то a + bi = bi - чисто мнимое число. Для комплексных чисел справедливы переместительный и сочетательный законы сложения. Их справедливость следует из того, что сложение комплексных чисел по существу сводится к сложению действительных частей и коэффициентов мнимых частей, а они являются действительными числами, для которых справедливы указанные законы.

2.2.2 Вычитание комплексных чисел

Вычитание комплексных чисел определяется как действие, обратное сложению: разностью двух комплексных чисел a + bi  и  с + di называется комплексное число х + уi, которое в сумме с вычитаемым дает уменьшаемое. Отсюда, исходя из определения сложения и равенства комплексных чисел получим два уравнения, из которых найдем, что х = а-с, у = b-d. Значит,

(а+bi) - (c+di) = (a-c) + (b-d)i.

2.2.3 Произведение комплексных чисел

Произведение комплексных чисел z1=a+bi и z2=c+di называется комплексное число

z =(ac-bd) + (ad + bc)i, z1z2 = (a + bi)(c + di) = (ac - bd) + (ad + bc)i.

Легко проверить, что умножение комплексных чисел можно выполнять как умножение многочленов с заменой i2 на -1. Для умножения комплексных чисел также справедливы переместительный и сочетательный законы, а также распределительный закон умножения по отношению к сложению.

Из определения умножения получим, что произведение сопряженных комплексных чисел равно действительному числу:

(a + bi)(a - bi) = a2 + b2

2.2.4 Деление комплексных чисел

Деление комплексных чисел, кроме деления на нуль, определяется как действие, обратное умножению. Конкретное правило деления получим, записав частное в виде дроби и умножив числитель и знаменатель этой дроби на число, сопряженное со знаменателем:

.

3. Функциональные модели и блок-схемы решения задачи

Функциональные модели и блок-схемы решения задачи представлены на рисунках 1 - 4.

Используемые обозначения:

§ N1 - первое комплексное число;

§ N2 - второе комплексное число;

§ A - действительная часть первого комплексного числа;

§ C - мнимая часть первого комплексного числа;

§ B - действительная часть второго комплексного числа;

§ D - мнимая часть второго комплексного числа.

Рисунок 1 - Функциональная модель решения задачи для функции SUM_COMPLEX

Рисунок 2 - Функциональная модель решения задачи для функции SUBTR_COMPLEX

Рисунок 3 - Функциональная модель решения задачи для функции MULT_COMPLEX

Рисунок 4 - Функциональная модель решения задачи для функции DIV_COMPLEX

4. Программная реализация решения задачи

ЗАВОДИМ ПЕРЕМЕННЫЕ ДЛЯ КОМПЛЕКСНЫХ ЧИСЕЛ

(SETQ NUM1 0)

(SETQ NUM2 0)

(SETQ INPUT_STREAM (OPEN " D:\\COMLEX_NUMBERS.TXT" :DIRECTION :INPUT));ЧИСЛА ХРАНЯТЬСЯ В ФАЙЛЕ В ВИДЕ СПИСКА (A B); ГДЕ A - ДЕЙСВИТЕЛЬНАЯ ЧАСТЬ, B - МНИМАЯ; СЧИТЫВАЕМ ЧИСЛА ИЗ ФАЙЛА

(SETQ NUM1 (READ INPUT_STREAM))

(SETQ NUM2 (READ INPUT_STREAM))

(CLOSE INPUT_STREAM)

СУММА КОМПЛЕКСНЫХ ЧИСЕЛ

(DEFUN SUM_COMPLEX (N1 N2)

(LIST (+ (CAR N1) (CAR N2)) (+ (CADR N1) (CADR N2))))

РАЗНОСТЬ КОМПЛЕКСНЫХ ЧИСЕЛ

(DEFUN SUBTR_COMPLEX (N1 N2)

(LIST (- (CAR N1) (CAR N2)) (- (CADR N1) (CADR N2))))

ПРОИЗВЕДЕНИЕ КОМПЛЕКСНЫХ ЧИСЕЛ

(DEFUN MULT_COMPLEX (N1 N2)

ОБЪЯВЛЕНИЕ ВСПОМОГАТЕЛЬНЫХ ПЕРЕМЕННЫХ

(DECLARE (SPECIAL A))

(DECLARE (SPECIAL B))

(DECLARE (SPECIAL C))

(DECLARE (SPECIAL D))

(SETQ A (CAR N1))

(SETQ B (CADR N1))

(SETQ C (CAR N2))

(SETQ D (CADR N2))

(LIST (- (* A C) (* B D)) (+ (* A D)(* B C))))

ДЕЛЕНИЕ КОМПЛЕКСНЫХ ЧИСЕЛ

(DEFUN DIV_COMPLEX (N1 N2)

ОБЪЯВЛЕНИЕ ВСПОМОГАТЕЛЬНЫХ ПЕРЕМЕННЫХ

(DECLARE (SPECIAL A))

(DECLARE (SPECIAL B))

(DECLARE (SPECIAL C))

(DECLARE (SPECIAL D))

(SETQ A (CAR N1))

(SETQ B (CADR N1))

(SETQ C (CAR N2))

(SETQ D (CADR N2))

(LIST (FLOAT (/ (+ (* A C) (* B D)) (+ (* C C) (* D D)))) (FLOAT (/ (- (* B C) (* A D)) (+ (* C C) (* D D))))))

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

(SETQ OUTPUT_STREAM (OPEN " D:\\RESULT.TXT" :DIRECTION :OUTPUT)) (DEFUN PRINT_OPERATIONS (N1 N2)

(MAPCAR 'SUM_COMPLEX N1 N2))

(PRINT (LIST 'NUMBER1 NUM1) OUTPUT_STREAM)

(PRINT (LIST 'NUMBER2 NUM2) OUTPUT_STREAM)

(PRINT OUTPUT_STREAM)

(PRINT (LIST 'SUM (MAPCAR 'SUM_COMPLEX NUM1 NUM2)) OUTPUT_STREAM)

(PRINT (LIST 'SUBTRACTION (MAPCAR 'SUBTR_COMPLEX NUM1 NUM2)) OUTPUT_STREAM)

(PRINT (LIST 'MULTIPLICATION (MAPCAR 'MULT_COMPLEX NUM1 NUM2)) OUTPUT_STREAM)

(PRINT (LIST 'DIVISION (MAPCAR 'DIV_COMPLEX NUM1 NUM2)) OUTPUT_STREAM)

(TERPRI OUTPUT_STREAM)

(CLOSE OUTPUT_STREAM)

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

Пример 1.

Рисунок 5 - Входные данные

Рисунок 6 - Выходные данные

Пример 2.

Рисунок 7 - Входные данные

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

Пример 3.

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

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

Заключение

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

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

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

Выгодский, М.Я. Справочник по элементарной математике. [Текст] / М.Я. Выгодский - М.: АСТ: Астрель, 2006. С. 509.

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

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

Комплексное число [Электронный ресурс] - Режим доступа: http://ru.wikipedia.org/wiki/Комплексное_число.

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

рефераты
РЕФЕРАТЫ © 2010