如何在python中计算复杂函数

如何在python中计算复杂函数,python,complex-numbers,cmath,Python,Complex Numbers,Cmath,我有一个复杂函数的表达式,如下所示: f(z) = 1/jwC + (R1(1+jwC1) + R2(1+jwC2))/(1+jwR1C1)(1+jwR2C2) 其中j=sqrt(-1) 如何使用python计算f(z),给定w、R1、R2、C、C1、C2的值,然后分离f(z)的实部和虚部 提前谢谢 复数是Python中最常用的数字之一 所以你可以写: #!/usr/bin/env python3 def f(w, R1, R2, C, C1, C2): return 1 / (1j

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

f(z) = 1/jwC + (R1(1+jwC1) + R2(1+jwC2))/(1+jwR1C1)(1+jwR2C2)
其中
j=sqrt(-1)

如何使用python计算f(z),给定w、R1、R2、C、C1、C2的值,然后分离f(z)的实部和虚部


提前谢谢

复数是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)

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

使用
复数类型。Python内置了对复数的支持。请尝试打印3+2j,但不要将j指定给任何内容。@FChm您以前是否使用过名称
j
,这并不重要,
2j
是一个复数文字。很抱歉,我在发布后注意到了这一点,感谢您的澄清!我很好奇为什么这个答案被否决了。如果有不正确的地方,请留下备注,以便对答案(目前唯一的答案)进行改进。