Использование быстрого преобразования Ханкеля scipy в Python ⇐ Python
-
Anonymous
Использование быстрого преобразования Ханкеля scipy в Python
Несмотря на некоторые усилия, я не смог понять использование SciPy.fft.fht, быстрого преобразования Ханкеля в Python. Например, когда я пытаюсь преобразовать exp(-ar), это дает мне странный результат. Я также не мог понять, как выбрать подходящее смещение. Вот мой простой код.
из импорта scipy fft импортировать numpy как np импортировать matplotlib.pyplot как plt mu = 1.0 # Порядок функции Бесселя r = np.logspace(-7, 1, 128) # Входные оценочные баллы dln = np.log(r[1]/r[0]) # Размер шага смещение = fft.fhtoffset(dln, начальное=-6.*log(10), mu=mu) k = np.exp(offset)/r[::-1] # Выходные оценочные точки а = 0,5 f = np.exp(-a*r) # Вот что я хочу преобразовать fk = k/np.sqrt((k**2+a**2)**3) # Это то, что я ожидаю аналитически (я посмотрел по таблице) f_fht = fft.fht(f, dln, offset=offset, mu=mu) # Это числовой результат plt.plot(k,fk,k,f_fht,'--') plt.show() Похоже, что f_fht не согласен с fk. Я не мог понять, что пошло не так. Может ли кто-нибудь объяснить, как мне использовать fht, с некоторыми примерами? Большое спасибо.
Несмотря на некоторые усилия, я не смог понять использование SciPy.fft.fht, быстрого преобразования Ханкеля в Python. Например, когда я пытаюсь преобразовать exp(-ar), это дает мне странный результат. Я также не мог понять, как выбрать подходящее смещение. Вот мой простой код.
из импорта scipy fft импортировать numpy как np импортировать matplotlib.pyplot как plt mu = 1.0 # Порядок функции Бесселя r = np.logspace(-7, 1, 128) # Входные оценочные баллы dln = np.log(r[1]/r[0]) # Размер шага смещение = fft.fhtoffset(dln, начальное=-6.*log(10), mu=mu) k = np.exp(offset)/r[::-1] # Выходные оценочные точки а = 0,5 f = np.exp(-a*r) # Вот что я хочу преобразовать fk = k/np.sqrt((k**2+a**2)**3) # Это то, что я ожидаю аналитически (я посмотрел по таблице) f_fht = fft.fht(f, dln, offset=offset, mu=mu) # Это числовой результат plt.plot(k,fk,k,f_fht,'--') plt.show() Похоже, что f_fht не согласен с fk. Я не мог понять, что пошло не так. Может ли кто-нибудь объяснить, как мне использовать fht, с некоторыми примерами? Большое спасибо.