Python数组值与定义的函数不同

时间:2016-12-19 10:57:42

标签: python arrays

我已经定义并运行并调用它来将计算值存储在数组中。但是,数组中的值与它们应该的值不同。我已经绘制了函数的输出和存储的数组值。任何人都可以帮我解决这个问题。这是代码和输出。

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()

输出图看起来像

enter image description here

1 个答案:

答案 0 :(得分:2)

linspace提供了一个浮点数向量,它作为向量转到gaussian,并根据向量上的numpy运算符进行处理。另一方面,要填充PhaseArray,您需要以不同方式处理的整数gaussian提供x。它解释了差异。