我有两个函数:time_reversal
,它反转我的时间分量“n”;和time_shift
,它以“k”的数量移动我的时间坐标“n”。这些是功能:
#time_reversal
def time_reversal(n):
ind = arange(n.size-1,-1,-1)
n_r=n[ind]
return n_r
# time_shift
def time_shift(n,k):
N=n.size
if k>=0:
N_ts=concatenate( (zeros(k),n[0:N-k]), 0)
else:
k=-k
N_ts=concatenate( (n[k:N],zeros(k)), 0)
return N_ts
给出方程:y[n]=y[n]+x[k]*h[n-k]
我需要把这个方程应用到“h”数组。我需要把“n”倒过来,然后把它换成“k”的量。数组“x”保持不变。你知道吗
问题是我不知道如何将这些函数应用于我的问题。我试着把“n\r”和“n\ts”替换成这样:y[n]=y[n]+x[k]*h[n_r-N_ts]
,但它给了我错误。
编辑:程序
from numpy import*
from matplotlib.pyplot import*
x=array([2,1,-1])
h=array([1,2,1,0,1,2,1])
y=array([0,0,0,0,0,0,0,0,0])
def time_reversal(n):
ind = arange(n.size-1,-1,-1)
n_r=n[ind]
return n_r
def time_shift(n,k):
N=n.size
if k>=0:
N_ts=concatenate( (zeros(k),n[0:N-k]), 0)
else:
k=-k
N_ts=concatenate( (n[k:N],zeros(k)), 0)
return N_ts
for n in range(0,9):
for k in range(0,3):
y[n]=y[n]+x[k]*h[n_r-N_ts]
print("y = ",y)
它说n\u r和n\u ts由于某种原因没有定义。你知道吗
我不完全确定这是否是您想要的,但是有一个叫做
map
函数的函数允许您对数组的每个元素应用一个函数,并返回一个包含结果的新数组。例如:结果列表是
[3, 4, 5]
。你知道吗希望这有帮助。你知道吗
相关问题 更多 >
编程相关推荐