我有一个复杂函数的表达式,如下所示:
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)的实部和虚部分开?
谢谢!
答案 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