【发布时间】:2013-04-28 00:34:29
【问题描述】:
我在 python 中处理一些相对简单的代数表达式,想知道是否有比我目前正在做的更好的方法来绘制代数表达式:
我有一个陷波滤波器的方程(下图 - 左边的书;右边的图是我的代码生成的无花果),到目前为止,我的代码虽然很粗糙。
有没有更好的方法来绘制震级?如图所示,常数是; R = 50.0,C = 470e-12,L = 54e-6,所需频率范围为0到2MHz。
import matplotlib.pyplot as plt
import numpy as np
import math
R = 50.0
C = 470e-12
L = 54e-6
FREQ = []
DATA = []
for i in range(1, 200):
f = i*10000.0
w = 2*np.pi*f
Ztop = w*L - 1.0/(w*C)
Zbot = math.sqrt( (math.pow(R,2) + math.pow((w*L) -(1.0/(w*C)),2)) )
Zout = abs(Ztop / Zbot)
FREQ.append( f/1e6 )
DATA.append( Zout )
plt.figure(1)
plt.plot(FREQ,DATA, '-k')
plt.xlabel('Frequency (MHz)')
plt.ylabel('Mag.')
plt.grid()
plt.show()
【问题讨论】: