簡體   English   中英

numpy.fft.fft 中的“軸”參數是什么意思?

[英]What does the 'axis' parameter in numpy.fft.fft mean?

快速傅立葉變換( fft文檔)將“a”轉換為其傅立葉光譜等效值:

numpy.fft.fft(a, n=None, axis=-1, norm=None) 

據我所知,參數n表示 output 中有多少樣本,如果n小於a中的樣本數,則 output 要么被裁剪,要么如果n更大,則用零填充。

axis是做什么的? 究竟是什么意思? 我還沒有找到任何明確的使用例子。

np.fft.fft計算一維離散傅里葉變換。 如果您給出一維輸入(向量),它只會計算該輸入的變換。 但是,如果您的輸入具有多個維度,例如 2D 矩陣或更高維度,NumPy 假定您提供了許多向量並且您想要計算每個向量的變換。 axis參數表示與這些向量對應的維度,默認情況下它是最后一個( -1 )。 因此,例如,對於 2D 矩陣m ,如果axis=0則每列m[:, 0]m[:, 1]等將是計算變換的向量,同時傳遞axis=1 (相當於默認的axis=-1 ),每行m[0, :]m[1, :]等都將被視為變換的向量。 如果要計算輸入中所有值的變換,無論尺寸如何,都必須展平輸入,例如使用np.ravel

順便說一句,這是 NumPy(和許多其他代數包)中非常常見的約定,其中一維運算可以通過接收指示執行操作的維度的axis參數來處理多維輸入。

numpy.fft.fft()返回數組的一維傅里葉變換。 這意味着如果您有一個形狀(N,M)的數組,它不會給您一個二維 fft( np.fft.fft2()會),而是沿最后一個軸返回 fft。 如果您希望計算 fft 而不是沿列而不是沿行,則應傳遞axis=0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM