Комплексні числа. Модуль cmath. Створення комплексного числа. Клас complex. Функції та константи модуля cmath
Зміст
- 1. Модуль cmath. Призначення. Загальні відомості
- 2. Створення комплексного числа. Клас complex. Способи створення комплексного числа
- 3. Як отримати дійсну та уявну частини комплексного числа? Приклад
- 4. Приклад, що демонструє створення комплексного числа різними способами
- 5. Склад модуля cmath. Групи функцій роботи з комплексними числами
- Споріднені теми
Пошук на інших ресурсах:
1. Модуль cmath. Призначення. Загальні відомості
У мові програмування Python для роботи з комплексними числами використовується модуль cmath. Модуль містить набір функцій для обробки комплексних чисел.
Щоб використовувати засоби модуля cmath, спочатку його потрібно підключити директивою import
import cmath
Модуль завжди є доступний з програми.
Функції модуля cmath оперують аргументами
- цілих чисел;
- чисел з плаваючою комою (floating point types);
- комплексних чисел. Комплексне число створюється функцією complex().
⇑
2. Створення комплексного числа. Клас complex. Способи створення комплексного числа
Для створення комплексного числа використовується клас complex. Щоб створити екземпляр класу complex (комплексне число) можна використати один з двох способів.
Спосіб 1. Задавання безпосередньо дійсної та уявної частини комплексного числа
complexNumber = complex([real[, imag]])
тут
- complexNumber – комплексне число, що створюється. Число представлене як real+imag*1j;
- real – дійсна частина комплексного числа;
- imag – уявна частина комплексного числа.
При цьому функція complex() може отримувати різну кількість аргументів:
- нуль аргументів. Це означає, що буде сформоване число 0j;
- один аргумент. У цьому випадку буде комплексне число без уявної (j) частини;
- два аргументи. Перший аргумент – дійсна частина, другий аргумент – уявна частина.
Кожен з аргументів може бути числового типу, навіть комплексне число.
Спосіб 2. Задавання комплексного числа у вигляді рядка
complexNumber = complex(complex_number_as_string)
тут
- complexNumber – комплексне число, що створюється;
- complex_number_as_string – рядок, що відображає комплексне число (наприклад, “2+3j”, ‘1-2j’ тощо). При представленні комплексного числа, рядок не повинен містити символів пробіл ‘ ‘, в противному випадку буде згенероване виключення ValueError.
При цьому способі функція complex() отримує тільки один аргумент – рядок. Два аргументи передавати забороняється.
⇑
3. Як отримати дійсну та уявну частини комплексного числа? Приклад
Після створення комплексного числа функцією complex() (див. попередній пункт) можна отримати доступ до його складових з допомогою наступного звертання:
- z.real – дійсна частина комплексного числа z;
- z.imag – уявна частина комплексного числа z.
Приклад.
# Підключити модуль cmath import cmath # Створити комплексне число z = 7-8j z = complex(7, -8) # Отримати складові числа z re = z.real # дійсна частина im = z.imag # уявна частина # Вивести отримані складові на екран print('re = ', re) print('im = ', im)
Результат виконання програми
re = 7.0 im = -8.0
⇑
4. Приклад, що демонструє створення комплексного числа різними способами
У прикладі створюються комплексні числа різними способами з допомогою класу complex.
# Метод complex() - створює об'єкт комплексного числа # Спосіб 1. # 1.1. Виклик методу complex() без параметрів num1 = complex() # num1 = 0j print("num1 = ", num1) # 1.2. Виклик методу complex() з 1 параметром типу float num2 = complex(5.22) # num2 = (5.22+0j) print("num2 = ", num2) # 1.3. Виклик методу complex() з 2 параметрами типу int num3 = complex(7, -4) # num3 = (7-4j) print('num3 = ', num3) # 2. Виклик методу complex() з передачею рядка num4 = complex('0+0j') # num4 = 0j print('num4 = ', num4) num5 = complex("2+8j") # num5 = (2+8j) print('num5 = ', num5) # тут помилка - рядок містить пробіли # num6 = complex('1 - 4j') # 3. Створення комплексного числа на основі інших комплексних чисел num6 = complex(num3, num5) # num6 = (-1-2j) print('num6 = ', num6)
Результат виконання програми
num1 = 0j num2 = (5.22+0j) num3 = (7-4j) num4 = 0j num5 = (2+8j) num6 = (-1-2j)
⇑
5. Склад модуля cmath. Групи функцій роботи з комплексними числами
У модулі cmath функції для роботи з комплексними числами згруповані наступним чином:
- функції перетворення в полярні координати і навпаки;
- степеневі та логарифмічні функції;
- тригонометричні функції;
- гіперболічні функції;
- функції класифікацій.
⇑
5.1. Функції перетворення в полярні координати і навпаки
До цієї категорії функцій належать наступні
- cmath.phase(x) – повертає фазу від аргументу x у вигляді числа типу float;
- cmath.polar() – повертає представлення x в полярних координатах;
- cmath.rect() – повертає комплексне число з полярних координат.
⇑
5.2. Степеневі та логарифмічні функції
У модулі cmath реалізовано наступні степеневі та логарифмічні функції, які оперують комплексними числами:
- cmath.exp(x) – повертає експоненту e, піднесену до степеня x, де x може бути комплексним числом. Експонента e є основою натурального логарифму;
- cmath.log(x) – повертає натуральний логарифм від аргументу x з заданою основою;
- cmath.log10(x) – повертає логарифм з основою 10 від аргументу x;
- cmath.sqrt(x) – повертає корінь квадратний від аргументу x.
⇑
5.3. Тригонометричні функції
Модуль cmath містить 6 тригонометричних функцій, які обробляють комплексні числа:
- cmath.acos(x) – повертає арккосинус від аргументу x;
- cmath.asin(x) – повертає арксинус від аргументу x;
- cmath.atan(x) – визначає арктангенс від аргументу x;
- cmath.cos(x) – повертає косинус від аргументу x;
- cmath.sin(x) – повертає синус від аргументу x;
- cmath.tan(x) – повертає тангенс від аргументу x.
⇑
5.4. Гіперболічні функції
Модуль cmath містить реалізацію наступних гіперболічних функцій, які оперують комплексними числами:
- cmath.acosh(x) – повертає гіперболічний арккосинус від аргументу x;
- cmath.asinh(x) – повертає гіперболічний арксинус від аргументу x;
- cmath.atanh(x) – повертає гіперболічний арктангенс від аргументу x;
- cmath.cosh(x) – повертає гіперболічний косинус від аргументу x;
- cmath.sinh(x) – повертає гіперболічний синус від аргументу x;
- cmath.tanh(x) – повертає гіперболічний тангенс від аргументу x.
⇑
5.5. Функції класифікацій
До функцій класифікацій модуля cmath відносяться наступні:
- cmath.isinfinite(x) – визначає, чи дійсна та уявна частина комплексного числа x є скінченими;
- cmath.isinf(x) – визначає, чи дійсна або уявна частини комплексного числа x є нескінченими;
- cmath.isnan(x) – визначає, чи дійсна або уявна частина комплексного числа мають значення Nan;
- cmath.isclose(x) – визначає близькість двох значень між собою.
⇑
5.6. Константи модуля cmath. Приклад
Модуль cmath містить ряд широко вживаних констант:
- cmath.pi – математична константа π, представлена як тип float;
- cmath.e – математична експонента e, представлена як тип float;
- cmath.tau – математична константа τ (тау), представлена як тип float;
- cmath.inf – нескінченість. Це значення еквівалентне значенню float(‘inf’);
- cmath.infj – комплексне число, в якому дійсна частина рівна 0, уявна частина рівна нескінченості. Це число є еквівалентом числа complex(0.0, float(‘inf’));
- cmath.nanj – комплексне число, в якому дійсна частина рівна 0, уявна рівна значенню NaN. Це число можна отримати шляхом виклику complex(0.0, float(‘nan’)).
Приклад. У прикладі виводиться на екран значення констант модуля cmath.
# Підключити модуль cmath import cmath # Вивести значення констант модуля cmath print(cmath.pi) # 3.141592653589793 print(cmath.e) # 2.718281828459045 print(cmath.tau) # 6.283185307179586 print(cmath.inf) # inf print(cmath.infj) # infj print(cmath.nan) # nan print(cmath.nanj) # nanj
Результат виконання програми
3.141592653589793 2.718281828459045 6.283185307179586 inf infj nan nanj
⇑
Споріднені теми
- Функції перетворення в полярні координати і навпаки. Степеневі та логарифмічні функції
- Тригонометричні функції. Гіперболічні функції. Функції класифікацій
⇑