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



Произведение комплексных чисел 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

 

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

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


 

.

 


 

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

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

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

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

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

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

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

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

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

 

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

 

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


 

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

 

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


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

 

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

(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)


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

 

Пример 1.

 

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

 

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

 

Пример 2.

 

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

 

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


 

Пример 3.

 

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

 

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

 


Заключение

 

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

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


Дата добавления: 2019-07-15; просмотров: 139; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!