---
title: fft.fftn
description: "计算n维离散傅里叶变换。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2300/accel/kunpengaccel_kml_16_0537.html
sourcePath: /source/zh/kunpengboostkithistory/2300/accel/kunpengaccel_kml_16_0537.html
indexId: 761d4ffddf8d042aeec9618bef21c4d16853481a8577f9953347d5c6feb5970274
---
# fft.fftn

#### 功能描述

计算n维离散傅里叶变换。


#### 必选输入参数

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| a | array\_like | 输入数组，可为复数。 |


#### 可选输入参数

| 参数名 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| s | sequence of ints | None | 输出的形状（每个变换轴的长度，s[0]表示轴0，s[1]表示轴1，以此类推）。这对应于fft(x,n)的n。沿着每个轴： 如果给定的形状小于输入的形状，则会裁剪输入。 如果给定的形状大于输入的形状，输入将填充零。 如果未给定s，则使用沿轴指定的轴的输入形状。 |
| axes | sequence of ints | \-1 | 计算FFT的轴。如果未给出，则使用最后n个轴。 |
| norm | {“backward”, “ortho”, “forward”}, optional | backward | 规范化模式（请参见“numpy.fft(https://numpy.org/doc/stable/reference/routines.fft.html\#module\-numpy.fft)”）。指示对前向或后向做缩放，以及使用何种标准化因子。 |


#### 返回数据

| 类型 | 说明 |
| --- | --- |
| ndarray | 沿“轴”表示的轴变换的截断或零填充输入，如果未指定“轴”，则为最后n个输入。 |


#### 示例

```
>>> import numpy as np
>>> a = np.mgrid[:3, :3, :3][0]
>>> a
array([[[0, 0, 0],
[0, 0, 0],
[0, 0, 0]],
[[1, 1, 1],
[1, 1, 1],
[1, 1, 1]],
[[2, 2, 2],
[2, 2, 2],
[2, 2, 2]]])
>>>
>>> np.fft.fftn(a)
array([[[ 27. +0.j        ,   0. +0.j        ,   0. +0.j        ],
[  0. +0.j        ,   0. +0.j        ,   0. +0.j        ],
[  0. +0.j        ,   0. +0.j        ,   0. +0.j        ]],
[[-13.5+7.79422863j,   0. +0.j        ,   0. +0.j        ],
[  0. +0.j        ,   0. +0.j        ,   0. +0.j        ],
[  0. +0.j        ,   0. +0.j        ,   0. +0.j        ]],
[[-13.5-7.79422863j,   0. +0.j        ,   0. +0.j        ],
[  0. +0.j        ,   0. +0.j        ,   0. +0.j        ],
[  0. +0.j        ,   0. +0.j        ,   0. +0.j        ]]])
>>>
>>> np.fft.fftn(a, (2,2), axes=(0,1))
array([[[ 2.+0.j,  2.+0.j,  2.+0.j],
[ 0.+0.j,  0.+0.j,  0.+0.j]],
[[-2.+0.j, -2.+0.j, -2.+0.j],
[ 0.+0.j,  0.+0.j,  0.+0.j]]])
>>>
```
