Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SyntaxError:can';t赋值给函数调用,Dirac函数为一个区间值_Python - Fatal编程技术网

Python SyntaxError:can';t赋值给函数调用,Dirac函数为一个区间值

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

我试图实现一个简单的函数,对于某个值返回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 


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)绘制更多的点,这样脉冲显示得更清晰。谢谢,我会尝试的!