Как вычислить сложную функцию в Python - PullRequest
0 голосов
/ 08 мая 2019

У меня есть выражение для сложной функции:

f(z) = 1/jwC + (R1(1+jwC1) + R2(1+jwC2))/(1+jwR1C1)(1+jwR2C2)

, где j = sqrt(-1)

Как мне вычислить f (z), используя python, учитывая значения w,R1, R2, C, C1, C2, а затем разделяют действительные и мнимые части f (z)?

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 09 мая 2019

Комплексные числа являются одним из стандартных типов в Python.

Так что вы можете просто написать:

#!/usr/bin/env python3

def f(w, R1, R2, C, C1, C2):
    return 1 / (1j * w * C) + (R1 * (1 + 1j * w * C1) + R2 * (
        1 + 1j * w * C2)) / ((1 + 1j * w * R1 * C1) * (1 + 1j * w * R2 * C2))


result = f(w=1000, R1=100, R2=200, C=100.0e-9, C1=100.0e-9, C2=200.0e-9)
print(result)
print(result.real)
print(result.imag)

(NB: пожалуйста, проверьте математическое выражение самостоятельно, так как я не проверял, верны ли результаты на самом деле. Возможно, я неверно истолковал ваше уравнение или сделал опечатку.)

0 голосов
/ 08 мая 2019

Преобразование действительных чисел в комплексное число

Комплексное число представляется как «x + yi».Python преобразует действительные числа x и y в комплекс, используя функцию complex(x,y).Реальная часть может быть доступна с помощью функции real(), а мнимая часть может быть представлена ​​как imag().

Пример:

# Python code to demonstrate the working of 
# complex(), real() and imag() 

# importing "cmath" for complex number operations 
import cmath 

# Initializing real numbers 
x = 5
y = 3

# converting x and y into complex number 
z = complex(x,y); 

# printing real and imaginary part of complex number 
print ("The real part of complex number is : ",end="") 
print (z.real) 

print ("The imaginary part of complex number is : ",end="") 
print (z.imag) 

Результат:

The real part of complex number is : 5.0
The imaginary part of complex number is : 3.0
...