- Комплексные числа в Python
- Атрибуты и функции комплексных чисел
- Математические вычисления комплексных чисел
- Модуль cmath
- Фаза комплексного числа
- Полярные и прямоугольные координаты
- Константы модуля cmath
- Функции питания и журнала
- Тригонометрические функции
- Гиперболические функции
- Классификационные функции
- Мнимые числа в Python
- Инициализировать комплексное число в Python
- Использование атрибутов и функций комплексных чисел в Python
- Используйте регулярные математические операции над комплексным числом в Python
- Использование функций модуля cmath для комплексных чисел
- Используйте функцию numpy.array() для хранения мнимых чисел в массивах в Python
- Сопутствующая статья — Python Math
Комплексные числа в Python
Комплексное число создается из двух действительных чисел. Комплексное число в Python можно создать с помощью функции complex(), а также с помощью оператора прямого присваивания.
Комплексные числа в основном используются, когда мы определяем что-то с помощью двух действительных чисел. Например, элемент схемы, который определяется напряжением (В) и током (I). В основном они используются в геометрии, математическом и научном расчетах.
Давайте сначала узнаем, как создавать комплексные числа в Python.
c = 1 + 2j print(type(c)) print(c) c1 = complex(2, 4) print(type(c1)) print(c1)
Комплексные числа в Python относятся к сложному типу. Каждое комплексное число состоит из одной действительной и одной мнимой частей.
Атрибуты и функции комплексных чисел
Давайте посмотрим на некоторые атрибуты и функции экземпляров комплексных чисел.
c = 1 + 2j print('Real Part =', c.real) print('Imaginary Part =', c.imag) print('Complex conjugate =', c.conjugate())
Real Part = 1.0 Imaginary Part = 2.0 Complex conjugate = (1-2j)
Математические вычисления комплексных чисел
Комплексные числа поддерживают математические вычисления, такие как сложение, вычитание, умножение и деление.
c = 1 + 2j c1 = 2 + 4j print('Addition =', c + c1) print('Subtraction =', c - c1) print('Multiplication =', c * c1) print('Division =', c1 / c)
Addition = (3+6j) Subtraction = (-1-2j) Multiplication = (-6+8j) Division = (2+0j)
Модуль cmath
Модуль cmath в Python обеспечивает доступ к математическим функциям для комплексных чисел. Давайте рассмотрим некоторые важные особенности комплексных чисел и то, как мы можем использовать функцию модуля cmath для их вычисления.
Фаза комплексного числа
Фаза комплексного числа – это угол между действительной осью и вектором, представляющим мнимую часть. Изображение ниже иллюстрирует фазу комплексного числа и то, как получить это значение с помощью модулей cmath и math.
Обратите внимание, что фаза, возвращаемая модулями math и cmath, выражается в радианах, мы можем использовать функцию numpy.degrees(), чтобы преобразовать ее в градусы. Диапазон фазы – от -π до + π (от -pi до + pi) в радианах, что эквивалентно от -180 до +180 градусов.
import cmath, math, numpy c = 2 + 2j # phase phase = cmath.phase(c) print('2 + 2j Phase =', phase) print('Phase in Degrees =', numpy.degrees(phase)) print('-2 - 2j Phase =', cmath.phase(-2 - 2j), 'radians. Degrees =', numpy.degrees(cmath.phase(-2 - 2j))) # we can get phase using math.atan2() function too print('Complex number phase using math.atan2() =', math.atan2(2, 1))
2 + 2j Phase = 0.7853981633974483 Phase in Degrees = 45.0 -2 - 2j Phase = -2.356194490192345 radians. Degrees = -135.0 Complex number phase using math.atan2() = 1.1071487177940904
Полярные и прямоугольные координаты
Мы можем записать комплексное число в полярных координатах, которое представляет собой набор модуля и фазы комплексного числа.
Мы можем использовать функцию cmath.rect(), чтобы создать комплексное число в прямоугольном формате, передав модуль и фазу в качестве аргументов.
c = 1 + 2j modulus = abs(c) phase = cmath.phase(c) polar = cmath.polar(c) print('Modulus =', modulus) print('Phase =', phase) print('Polar Coordinates =', polar) print('Rectangular Coordinates =', cmath.rect(modulus, phase))
Modulus = 2.23606797749979 Phase = 1.1071487177940904 Polar Coordinates = (2.23606797749979, 1.1071487177940904) Rectangular Coordinates = (1.0000000000000002+2j)
Константы модуля cmath
В модуле cmath есть множество констант, которые используются при вычислении комплексных чисел.
print('π =', cmath.pi) print('e =', cmath.e) print('tau =', cmath.tau) print('Positive infinity =', cmath.inf) print('Positive Complex infinity =', cmath.infj) print('NaN =', cmath.nan) print('NaN Complex =', cmath.nanj)
π = 3.141592653589793 e = 2.718281828459045 tau = 6.283185307179586 Positive infinity = inf Positive Complex infinity = infj NaN = nan NaN Complex = nanj
Функции питания и журнала
Есть несколько полезных функций для логарифмических и степенных операций.
c = 2 + 2j print('e^c =', cmath.exp(c)) print('log2(c) =', cmath.log(c, 2)) print('log10(c) =', cmath.log10(c)) print('sqrt(c) =', cmath.sqrt(c))
e^c = (-3.074932320639359+6.71884969742825j) log2(c) = (1.5000000000000002+1.1330900354567985j) log10(c) = (0.4515449934959718+0.3410940884604603j) sqrt(c) = (1.5537739740300374+0.6435942529055826j)
Тригонометрические функции
c = 2 + 2j print('arc sine =', cmath.asin(c)) print('arc cosine =', cmath.acos(c)) print('arc tangent =', cmath.atan(c)) print('sine =', cmath.sin(c)) print('cosine =', cmath.cos(c)) print('tangent =', cmath.tan(c))
arc sine = (0.7542491446980459+1.7343245214879666j) arc cosine = (0.8165471820968505-1.7343245214879666j) arc tangent = (1.311223269671635+0.2388778612568591j) sine = (3.4209548611170133-1.5093064853236156j) cosine = (-1.5656258353157435-3.2978948363112366j) tangent = (-0.028392952868232294+1.0238355945704727j)
Гиперболические функции
c = 2 + 2j print('inverse hyperbolic sine =', cmath.asinh(c)) print('inverse hyperbolic cosine =', cmath.acosh(c)) print('inverse hyperbolic tangent =', cmath.atanh(c)) print('hyperbolic sine =', cmath.sinh(c)) print('hyperbolic cosine =', cmath.cosh(c)) print('hyperbolic tangent =', cmath.tanh(c))
inverse hyperbolic sine = (1.7343245214879666+0.7542491446980459j) inverse hyperbolic cosine = (1.7343245214879666+0.8165471820968505j) inverse hyperbolic tangent = (0.2388778612568591+1.311223269671635j) hyperbolic sine = (-1.5093064853236156+3.4209548611170133j) hyperbolic cosine = (-1.5656258353157435+3.2978948363112366j) hyperbolic tangent = (1.0238355945704727-0.028392952868232294j)
Классификационные функции
Есть несколько разных функций, чтобы проверить, является ли комплексное число конечным, бесконечным или нан. Также есть функция проверки близости двух комплексных чисел.
print(cmath.isfinite(2 + 2j)) # True print(cmath.isfinite(cmath.inf + 2j)) # False print(cmath.isinf(2 + 2j)) # False print(cmath.isinf(cmath.inf + 2j)) # True print(cmath.isinf(cmath.nan + 2j)) # False print(cmath.isnan(2 + 2j)) # False print(cmath.isnan(cmath.inf + 2j)) # False print(cmath.isnan(cmath.nan + 2j)) # True print(cmath.isclose(2+2j, 2.01+1.9j, rel_tol=0.05)) # True print(cmath.isclose(2+2j, 2.01+1.9j, abs_tol=0.005)) # False
Мнимые числа в Python
- Инициализировать комплексное число в Python
- Использование атрибутов и функций комплексных чисел в Python
- Используйте регулярные математические операции над комплексным числом в Python
- Использование функций модуля cmath для комплексных чисел
- Используйте функцию numpy.array() для хранения мнимых чисел в массивах в Python
Python — очень универсальный язык для работы с числовыми данными. Он также поддерживает работу как с действительными, так и с мнимыми числами. В этом руководстве вы узнаете больше о мнимых числах и о том, как работать с ними в Python.
Инициализировать комплексное число в Python
Комплексные числа состоят из действительной и мнимой частей. В Python мнимую часть можно выразить, просто добавив j или J после числа.
Комплексное число можно создать легко: напрямую присвоив переменной действительную и мнимую части. В приведенном ниже примере кода показано, как создать комплексное число в Python:
Мы также можем использовать встроенную функцию complex() для преобразования двух заданных действительных чисел в комплексное число.
a = 8 b = 5 c = complex(8,5) print(type(c))
Теперь вторая половина статьи будет больше посвящена работе с мнимыми числами в Python.
Использование атрибутов и функций комплексных чисел в Python
Комплексные числа имеют несколько встроенных средств доступа, которые можно использовать для получения общей информации.
Например, чтобы получить доступ к действительной части комплексного числа, мы можем использовать встроенную функцию real() и аналогичным образом использовать функцию imag() для доступа к мнимой части. Кроме того, мы также можем найти сопряжение комплексного числа с помощью функции conjugate() .
a = 8 + 5j print('Real Part = ', a.real) print('Imaginary Part = ', a.imag) print('Conjugate = ', a.conjugate())
Real Part = 8.0 Imaginary Part = 5.0 Conjugate = (8-5j)
Используйте регулярные математические операции над комплексным числом в Python
Вы можете выполнять основные математические операции, такие как сложение и умножение комплексных чисел в Python. Следующий код реализует простые математические процедуры с двумя заданными комплексными числами.
a = 8 + 5j b = 10 + 2j # Adding imaginary part of both numbers c = (a.imag + b.imag) print(c) # Simple multiplication of both complex numbers print('after multiplication = ', a*b)
7.0 after multiplication = (70+66j)
Использование функций модуля cmath для комплексных чисел
Модуль cmath — это специальный модуль, который обеспечивает доступ к нескольким функциям, предназначенным для использования с комплексными числами. Этот модуль состоит из множества функций. Некоторые из них — фаза комплексного числа, степенные и логарифмические функции, тригонометрические функции и гиперболические функции.
Модуль cmath также включает пару констант, таких как pi , tau , Positive infinity и еще несколько констант, используемых в вычислениях.
Следующий код реализует некоторые функции модуля cmath для комплексного числа в Python:
import cmath a = 8 + 5j ph = cmath.phase(a) print('Phase:', ph) print('e^a is:', cmath.exp(a)) print('sine value of complex no.:\n', cmath.sin(a)) print('Hyperbolic sine is: \n', cmath.sinh(a))
Phase: 0.5585993153435624 e^a is: (845.5850573783163-2858.5129755252788j) sine value of complex no.: (73.42022455449552-10.796569647775932j) Hyperbolic sine is: (422.7924811101271-1429.2566486042679j)
Используйте функцию numpy.array() для хранения мнимых чисел в массивах в Python
Термин NumPy является аббревиатурой от Numerical Python. Это библиотека, предоставляемая Python, которая работает с массивами и предоставляет функции для работы с этими массивами. Как следует из названия, функция numpy.array() используется при создании массива. Программа ниже демонстрирует, как вы можете создать массив комплексных чисел в Python:
import numpy as np arr = np.array([8+5j,10+2j,4+3j]) print(arr)
Комплексные числа — это один из трех способов, которыми Python позволяет хранить и реализовывать числовые данные. Это также считается важной частью программирования на Python. Вы можете выполнять широкий спектр операций с комплексными числами с помощью языка программирования Python.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.