我已经定义并运行并调用它来将计算值存储在数组中。但是,数组中的值与它们应该的值不同。我已经绘制了函数的输出和存储的数组值。任何人都可以帮我解决这个问题。这是代码和输出。
from numpy import linspace, exp
import matplotlib.pyplot as pl
def gaussian(x, off, amp, cen, wid):
return off+amp * exp(-(x-cen)**2 /wid**2)
PhaseArray = [0 for x in range (100)]
for x in range(100):
PhaseArray[x] = gaussian(x, 0, 1000, 50, 15)
x = linspace(0,99,100)
fig = pl.figure()
pl.plot(PhaseArray, 'go-')
pl.plot(x, gaussian(x, 0, 1000, 50, 15), 'ro-')
pl.show()
输出图看起来像
答案 0 :(得分:2)
linspace
提供了一个浮点数向量,它作为向量转到gaussian
,并根据向量上的numpy运算符进行处理。另一方面,要填充PhaseArray
,您需要以不同方式处理的整数gaussian
提供x
。它解释了差异。