Мне нужно преобразовать часть кода MATLAB в Python, и я плохо умею в обоих случаях. Код в MATLAB использует fft
и fftshift
. Я пытался использовать NumPy в Python. Код работает, но когда я сравниваю результат, они не совпадают. Я ценю вашу помощь.
Вот код MATLAB:
h(1,1:Modes_number) = -1i*S;
hfft = fft(h);
hft0 = fftshift(hfft);
и вот код Python, который я написал:
h = np.zeros((1,self.cfg.Modes_number+1),dtype=complex)
for i in range(0, self.cfg.Modes_number+1):
h[0,i] = -1j*S;
hfft = np.fft.fft(h)
hft0 = np.fft.fftshift(hfft)
Вот значения для S
и Modes_number
:
S = 12.5022214424;
Modes_number = 200;
Вот также пример результатов, которые я получаю в MATLAB и Python:
MATLAB:
hfft(1,1)
ans =
1.1857e-13 - 2.5129e+03i
Python:
hfft[0]
0. -2.52544873e+03j
Приветствие.