Python. Комплексные числа. Модуль cmath. Функции преобразования в полярные координаты

Комплексные числа. Модуль cmath. Функции преобразования в полярные координаты и наоборот. Степенные и логарифмические функции


Содержание


Поиск на других ресурсах:

1. Функции преобразования в полярные координаты и наоборот

В Python реализовано 3 функции, работающие с полярными координатами:

  • cmath.phase(x) — возвращает фазу от аргумента x в виде числа типа float;
  • cmath.polar() — возвращает представление x в полярных координатах;
  • cmath.rect() — возвращает комплексное число из полярных координат.

 

1.1. Функция cmath.phase(). Получить фазу комплексного числа

Функция

cmath.phase(x)

возвращает фазу комплексного числа x. Функция эквивалентна вызову

cmath.atan2(x.imag, x.real)

Результат работы функции находится в пределах от —π до π.

Пример.

# Подключить модуль cmath
import cmath

# Функция cmath.phase(x)
# Создать комплексное число
x = complex(2, -3) # x = 2 - 3*j

# Вызвать функцию
res = cmath.phase(x)

# Вывести результат
print("res = ", res)

Результат выполнения программы

res = -0.982793723247329

 

1.2. Функция cmath.polar(). Получить представление комплексного числа в полярных координатах

Функция

cmath.polar(x)

возвращает представление x в полярных координатах. Функция возвращает пару (r, phi), где r – модуль числа x, а phi – фаза числа x.
Вызов функции эквивалентен вызову

(abs(x), phase(x))

Пример.

# Подключить модуль cmath
import cmath

# Функция cmath.polar(x)

# Создать комплексное число
x = complex(1, -1) # x = 1 - 1*j

# Вызвать функцию
res = cmath.polar(x)

# Вывести результат
print("res = ", res)

Результат выполнения программы

res = (1.4142135623730951, -0.7853981633974483)

 

1.3. Функция cmath.rect(). Получить комплексное число на основе полярных координат

Функция

cmath.rect(r, phi)

позволяет получить комплексное число на основе модуля r и фазы phi. Вызов функции эквивалентен вызову

r * (math.cos(phi) + math.sin(phi)*1j)

Пример.

# Подключить модуль cmath
import cmath

# Функция cmath.rect(x)

# Создать комплексное число в виде полярных координат
r = 4 # модуль числа
phi = 1.2 # фаза в радианах

# Вызвать функцию
x = cmath.rect(r, phi)

# Вывести результат
print("x = ", x)

Результат выполнения программы

x = (1.4494310179066945+3.728156343868905j)

 

2. Степенные и логарифмические функции

В модуле cmath реализованы следующие степенные и логарифмические функции, оперирующие комплексными числами:

  • cmath.exp(x) — возвращает экспоненту e, возведенную в степень x, где x может быть комплексным числом. Экспонента e является основой натурального логарифма;
  • cmath.log(x) — возвращает натуральный логарифм от аргумента x с заданной основой;
  • cmath.log10(x) — возвращает логарифм с основанием 10 от аргумента x;
  • cmath.sqrt(x) — возвращает корень квадратный от аргумента x.

 

2.1. Функция cmath.exp(). Экспонента от комплексного числа

Функция

cmath.exp(x)

возвращает число e, возведенное в степень x. Значение e является основой натурального логарифма. Значение x – это комплексное число.

Пример.

# Подключить модуль cmath
import cmath

# Функция cmath.exp(x)

# Создать комплексное число
re = float(input("re = "))
im = float(input("im = "))

x = complex(re, im)

# Вызвать функцию
res = cmath.exp(x)

# Вывести результат
print("res = ", res)

Тестовый пример

re = 1
im = 0
res = (2.718281828459045+0j)

 

2.2. Функция cmath.log(). Логарифм комплексного числа

Функция

cmath.log(x [, base])

возвращает логарифм из комплексного числа x с указанной основой base. Если основа base не задана, то возвращается натуральный логарифм комплексного числа x.

Пример.

# Подключить модуль cmath
import cmath

# Функция cmath.log()

# Создать комплексное число
re = float(input("re = "))
im = float(input("im = "))

x = complex(re, im)

# Вызвать функцию для натурального логарифма
res1 = cmath.log(x)
print("res1 = ", res1)

# Вызвать функцию для логарифма с основанием 4
res2 = cmath.log(x, 4)
print("res2 = ", res2)

Тестовый пример

re = 1
im = -3
res1 = (1.151292546497023-1.2490457723982544j)
res2 = (0.8304820237218407-0.9009960708411433j)

 

2.3. Функция cmath.log10(). Десятичный логарифм

Функция

cmath.log10(x)

возвращает логарифм с основанием 10 от комплексного числа x.

Пример.

# Подключить модуль cmath
import cmath

# Функция cmath.log10()

# Создать комплексное число
re = float(input("re = "))
im = float(input("im = "))

x = complex(re, im)

# Вызвать функцию для десятичного логарифма
res = cmath.log10(x)
print("res = ", res)

Тестовый пример

re = 1
im = -5
res = (0.707486673985409-0.5964603745259144j)

 

2.4. Функция cmath.sqrt(). Корень квадратный от числа x

Функция

cmath.sqrt(x)

возвращает квадратный корень от комплексного числа x.

Пример.

# Подключить модуль cmath
import cmath

# Функция cmath.sqrt()

# Создать комплексное число
re = float(input("re = "))
im = float(input("im = "))

x = complex(re, im)

# Вызвать функцию для десятичного логарифма
res = cmath.sqrt(x)
print("res = ", res)

Тестовый пример

re = 2
im = -3
res = (1.6741492280355401-0.8959774761298381j)

 


Связанные темы