Главная Учебники - Разные Лекции (разные) - часть 33
Введение 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 не имеющая решений в множестве действительных чисел, имеет решение всегда В течение 17 века продолжалось обсуждение арифметической природы мнимостей, возможности дать им геометрическое истолкование. Постепенно развивалась техника операций над комплексными числами. На рубеже 17-18 веков была построена общая теория корней n
-й степени сначала из отрицательных, а впоследствии и из любых комплексных чисел. В конце 18 века французский математик Ж. Лагранж смог сказать, что математический анализ уже не затрудняют мнимые величины. С помощью комплексных чисел научились выражать решения линейных дифференциальных уравнений с постоянным коэффициентом. Такие уравнения встречаются, например, в теории колебаний материальной точки в сопротивляющейся среде. Я. Бернулли применил комплексные числа для вычисления интегралов. Хотя в течении 18 века с помощью комплексных чисел были решены многие вопросы, в том числе и прикладные задачи, связанные с картографией, гидродинамикой и т. д., однако еще не было строго логического обоснования теории этих чисел. Поэтому французский ученый П. Лаплас считал, что результаты, получаемые с помощью мнимых чисел, - только наведение, приобретающие характер настоящих истин лишь после подтверждения прямыми доказательствами. В конце 18- начале 19 веков было получено геометрическое истолкование комплексных чисел. Датчанин Г.Вессель, француз Ж. Арган и немец К. Гаусс независимо друг от друга предложили изображать комплексное число Геометрические истолкования комплексных чисел позволили определить многие понятия, связанные с функциями комплексного переменного, расширило область их применения. Стало ясно, что комплексные числа полезны во многих вопросах, где имеют дело с величинами, которые изображаются векторами на плоскости: при изучении течения жидкости, задач теории упругости, в теоретической электротехнике. 2.2 Действия с комплексными числами
Рассмотрим решение квадратного уравнения х2
+1 = 0. Отсюда х2
= -1. Число х, квадрат которого равен –1, называется мнимой единицей и обозначается i. Таким образом , i2
= -1, откуда Числа вида 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, 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, z1
z2
= (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 – Выходные данные Заключение Применение комплексных чисел позволяет удобно и компактно сформулировать многие математические модели, применяемые в математической физике и в естественных науках — электротехнике, гидродинамике, картографии, квантовой механике, теории колебаний и многих других. Итогом работы можно считать созданную функциональную модель для реализации математических операций над комплексными числами. Созданная функциональная модель и ее программная реализация могут служить органической частью решения более сложных задач. Список использованных источников и литературы
1. Выгодский, М.Я. Справочник по элементарной математике. [Текст] / М.Я. Выгодский – М.: АСТ: Астрель, 2006. С. 509. 2. Дадаян, А.А. Алгебра и геометрия. [Текст] / А.А Дадаян, В.А.Дударенко. – М.: Минск, 1999. С. 342. 3. Камалян, Р.З. Высшая математика. [Текст] / Р.З.Камалян. – М.: ИМСИТ, 2004. С.310. 4. Комплексное число [Электронный ресурс] – Режим доступа: http://ru.wikipedia.org/wiki/Комплексное_число. 5. Степанов, П.А. Функциональное программирование на языке Lisp. [Электронный ресурс] / П.А.Степанов, А.В.Бржезовский. – М.: ГУАП, 2003. С. 79.
|