Python SyntaxError:can';t赋值给函数调用,Dirac函数为一个区间值
我试图实现一个简单的函数,对于某个值返回1,这里是0 但我一直在犯这样的错误:Python SyntaxError:can';t赋值给函数调用,Dirac函数为一个区间值,python,Python,我试图实现一个简单的函数,对于某个值返回1,这里是0 但我一直在犯这样的错误: Diracx(i) = 1 SyntaxError: can't assign to function call 你能帮忙吗 def Dirac(x): Diracx = np.zeros(size(x)) for i in range(size(x)): if (x(i) == 0): Diracx(i) = 1 return Diracx
Diracx(i) = 1
SyntaxError: can't assign to function call
你能帮忙吗
def Dirac(x):
Diracx = np.zeros(size(x))
for i in range(size(x)):
if (x(i) == 0):
Diracx(i) = 1
return Diracx
plt.plot(x,DiracDelta(x))
或者,如果只是为了刺激其他人提供更好的答案
>>> x = np.array([-2,-1,0,1,2])
>>> a = np.zeros(np.size(x))
>>> a[x!=0]=1
>>> a
array([ 1., 1., 0., 1., 1.])
你想要Diracx[i]=1(方括号)——这是一个数组。这个问题实际上不是关于Dirac函数的。这是关于
SyntaxError
.hum。。其实更容易!谢谢你,先生。但我有一个问题,当我这样做的时候,或者像我的例子一样,我并没有在一个值上得到一个脉冲,在其他值上得到一个0,但我得到了一种插值。如何关闭此插值?我用plt.plot(x,a)来绘图,然后我想你需要(a)近似狄拉克函数,距离狄拉克一半,远离三角形,(b)绘制更多的点,这样脉冲显示得更清晰。谢谢,我会尝试的!