# nufftn

N-D nonuniform fast Fourier transform

## Syntax

``Y = nufftn(X,t)``
``Y = nufftn(X,t,f)``
``Y = nufftn(X)``

## Description

example

````Y = nufftn(X,t)` returns the nonuniform discrete Fourier transform (NUDFT) along each dimension of an N-D array `X` using the sample points `t`.```
````Y = nufftn(X,t,f)` computes the NUDFT using the sample points `t` and query points `f`. To specify `f` without specifying sample points, use `nufftn(X,[],f)`.```
````Y = nufftn(X)` returns the N-D discrete Fourier transform of `X`.```

## Examples

collapse all

Create a 3-D signal `X` sampled at unevenly spaced points `t` in each dimension. Compute the nonuniform fast Fourier transform `Y`.

```t = [1:10 11:2:29]'; x = t; y = t'; z = reshape(t,[1 1 20]); X = cos(2*pi*0.01*x) + sin(2*pi*0.02*y) + cos(2*pi*0.03*z); Y = nufftn(X,{t,t,t});```

## Input Arguments

collapse all

Input array, specified as a numeric vector, matrix, or multidimensional array.

Data Types: `double` | `single` | `int8` | `int16` | `int32` | `uint8` | `uint16` | `uint32` | `logical`
Complex Number Support: Yes

Sample points, specified as a vector, matrix, or cell array of vectors for each dimension of the input array `X`.

When specified as a vector or matrix, the number of rows of `t` must equal the number of elements in `X`. When no query points are specified, the transform is computed at N evenly spaced query points in each dimension, where `N = ceil(numel(X).^(1/D))` and D is the number of columns in `t`. The output `Y` is a D-dimensional array of length N in each dimension.

When `t` is specified as a cell array of D vectors, the length of each vector must equal the length of the corresponding dimension of `X`.

Data Types: `double` | `single`

Query points, specified as a vector, matrix, or cell array of vectors for each dimension of the input array `X`. When specified as a matrix, `f` must be an M-by-k array, where k is greater than or equal to the number of dimensions D defined by the sample points.

When `f` is specified as a cell array of D vectors, the length of each dimension of the output `Y` is equal to the length of the corresponding vector in the cell array.

To specify `f` without specifying sample points, use `nufftn(X,[],f)`.

Data Types: `double` | `single`

## Version History

Introduced in R2020a

expand all