Слияние кода завершено, страница обновится автоматически
import numpy as np
def st(x):
# S变换。输入为numpy的实矩阵,输出为numpy的复矩阵
# 不会用可以问我
H = np.fft.fft(x)
n=len(x)
t=np.append(np.arange(np.ceil(n/2)),np.arange(-np.floor(n/2),0))
t2=np.reciprocal(t[1:])[None]
t=t[None].T
t3=np.matmul(t, t2)
t4=np.exp(-2*np.pi*np.pi*np.power(t3,2))
t5=np.zeros([n,1])
t5[0]=1
t6=np.append(t5,t4,axis=1)
t7=H[None]
tt=np.arange(0,n)
for i in range(1,n):
t7=np.append(t7,H[np.roll(tt,-i)][None],axis=0)
return np.fft.fft(np.fft.ifft2(t6*t7)).T
def main():
a = np.array([1,-1,2,-1,1,-6,2,-1])
y = st(a)
print(y)
if __name__ == '__main__':
main()
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )