當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy fft.rfftn用法及代碼示例


本文簡要介紹 python 語言中 scipy.fft.rfftn 的用法。

用法:

scipy.fft.rfftn(x, s=None, axes=None, norm=None, overwrite_x=False, workers=None, *, plan=None)#

計算真實輸入的N-D 離散傅裏葉變換。

此函數通過快速傅裏葉變換 (FFT) 在 M-D 實數數組中的任意數量的軸上計算 N-D 離散傅裏葉變換。默認情況下,所有軸都被變換,實際變換在最後一個軸上執行,而其餘變換是複雜的。

參數

x array_like

輸入數組,被認為是真實的。

s 整數序列,可選

要從輸入中使用的形狀(沿每個變換軸的長度)。 (s[0]指軸 0,s[1]到軸 1 等)。最終元素為s對應於n為了rfft(x, n),而對於其餘的軸,它對應於n為了fft(x, n).沿著任何軸,如果給定的形狀小於輸入的形狀,則裁剪輸入。如果它更大,則用零填充輸入。如果s未給出,輸入沿指定軸的形狀被使用。

axes 整數序列,可選

計算 FFT 的軸。如果沒有給出,最後一個len(s)使用軸,或所有軸,如果s也沒有指定。

norm {“backward”, “ortho”, “forward”},可選

標準化模式(參見 fft )。默認為“backward”。

overwrite_x 布爾型,可選

如果為真,則內容x可以銷毀;默認為假。看scipy.fft.fft更多細節。

workers 整數,可選

用於並行計算的最大工作線程數。如果為負,則該值從 os.cpu_count() 環繞。有關詳細信息,請參閱 fft

plan 對象,可選

此參數保留用於傳遞下遊 FFT 供應商提供的預先計算的計劃。它目前未在 SciPy 中使用。

返回

out 複雜的ndarray

截斷或補零的輸入,沿由,或通過組合sx,如上麵參數部分所述。最後變換的軸的長度將是s[-1]//2+1,而剩餘的變換軸的長度將根據s,或與輸入保持不變。

拋出

ValueError

如果 s 和軸有不同的長度。

IndexError

如果軸的某個元素大於 x 的軸數。

注意

實際輸入的變換在最後一個變換軸上執行,如 rfft ,然後在其餘軸上的變換如 fftn 。輸出的順序與最後一個變換軸的 rfft 相同,其餘變換軸的輸出順序與 fftn 相同。

有關使用的詳細信息、定義和約定,請參閱 fft

例子

>>> import scipy.fft
>>> import numpy as np
>>> x = np.ones((2, 2, 2))
>>> scipy.fft.rfftn(x)
array([[[8.+0.j,  0.+0.j], # may vary
        [0.+0.j,  0.+0.j]],
       [[0.+0.j,  0.+0.j],
        [0.+0.j,  0.+0.j]]])
>>> scipy.fft.rfftn(x, axes=(2, 0))
array([[[4.+0.j,  0.+0.j], # may vary
        [4.+0.j,  0.+0.j]],
       [[0.+0.j,  0.+0.j],
        [0.+0.j,  0.+0.j]]])

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.fft.rfftn。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。