如何在python中计算复杂函数

时间:2019-05-08 06:59:05

标签: python complex-numbers cmath

我有一个复杂函数的表达式,如下所示:

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

其中j = sqrt(-1)

在给定w,R1,R2,C,C1,C2的值的情况下,如何使用python计算f(z),然后将f(z)的实部和虚部分开?

谢谢!

2 个答案:

答案 0 :(得分:1)

复数是Python中的standard types之一。

所以你可以这样写:

#!/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)

(注意:请检查一下数学表达式,因为我没有验证结果是否正确。我可能误解了您的方程式或输入了错字。)

答案 1 :(得分:0)

将实数转换为复数

复数由“ x + yi”表示。 Python使用函数complex(x,y)将实数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