IFTSolver
Description
Creation
Syntax
solver = IFTSolver(
solver = IFTSolver(
Description
solver = IFTSolver(
method)
creates an IFTSolver
object that uses the specified method to solve the 2D inverse Fourier transform.
\( \tilde{T}_0 \left( x, y, f \right) = \int_{-\infty}^\infty \int_{-\infty}^\infty \hat{T}_0 \left( u, v, f \right) \, \exp \left( 2 i \pi \left( u x + v y \right) \right) \, du \, dv \)
This syntax is only valid for method ∈ {integral2, vpaintegral}
. When method = ifft2
, name-value arguments are required.
solver = IFTSolver(
"ifft2",
Name,Value
)
creates an IFTSolver
object that uses MATLAB’s built-in ifft2
method—with options specified as name-value arguments—to solve the 2D inverse Fourier transform.
Input Arguments
method
- 2D inverse Fourier transform method
"ifft2"
| "integral2"
| "vpaintegral"
| IFTEnum
object
2D inverse Fourier transform method. When possible, the
ifft2
method should be used for its computational efficiency.
However, if greater accuracy is needed, the
integral2
or vpaintegral
method may be used instead.
When method = "ifft2"
, name-value arguments must also be provided.
char
and string
inputs are case-insensitive and may be specified as a unique leading substring of any one of the above listed options.
Data Types: char
| string
| IFTEnum
Name-Value Arguments
x_max
- Maximum spatial distance from pump
positive real scalar | 1-by-2 positive real vector
Maximum spatial distance from the pump in the x- and y-directions used in the 2D inverse fast Fourier transform
(ifft2
).
When provided as a scalar, dx
is expanded (copied) to a 1-by-2 vector.
Data Types: double
| single
dx
- Discrete spatial step size
positive real scalar | 1-by-2 positive real vector
Discrete spatial step size—i.e., sampling period—in the x- and y-directions used in the 2D inverse fast Fourier transform
(ifft2
).
When provided as a scalar, dx
is expanded (copied) to a 1-by-2 vector.
When not provided or when set equal to 0, dx
is calculated as x_max / floor(Nx/2)
.
Data Types: double
| single
Nx
- Number of spatial steps
[256, 256] (default) | positive integer scalar | 1-by-2 positive integer vector
Number of discrete spatial points—i.e., signal length—in the x- and y-directions used in the 2D inverse fast Fourier transform
(ifft2
).
When possible, the value of Nx
should have only small prime factors as this results in significantly faster execution of the
ifft2
transform.
When provided as a scalar, Nx
is expanded (copied) to a 1-by-2 vector.
When not provided or when set equal to 0, if both x_max
and dx
are provided Nx
is calculated as floor(x_max/dx) * 2 + 1
; otherwise, the default value will be used.
Data Types: double
| single
| int8
| int16
| int32
| uint8
| uint16
| uint32
interp_methods
- Interpolation and extrapolation methods
["linear","linear"]
(default) | [Method, ExtrapolationMethod]
Interpolation and extrapolation methods for the creation of the interp
property. See griddedInterpolant
input arguments Method
and ExtrapolationMethod
for a list of available options.
If provided as a scalar string or character vector, the input is used for both Method
and ExtrapolationMethod
(i.e., ExtrapolationMethod = Method
)
The interpolant will be created using the following command:
interp = griddedInterpolant(
Data Types: character array | cell of character arrays | string array
Properties
In addition to storing the method
argument as a property, the following properties are commputed and stored if the ifft2
method is used.
x
- Discrete spatial vector
Read only: double column vector
Discrete spatial vector in the x-direction, calculated as dx(1) * (-floor(Nx(1)/2) : ceil(Nx(1)/2) - 1)
.
Data Type: double
y
- Discrete spatial vector
Read only: double row vector
Discrete spatial vector in the y-direction, calculated as dx(2) * (-floor(Nx(2)/2) : ceil(Nx(2)/2) - 1)
.
Data Type: double
u
- Discrete spatial-frequency vector
Read only: double column vector
Discrete spatial-frequency vector in the x-direction, calculated as (-floor(Nx(1)/2) : ceil(Nx(1)/2) - 1) / (Nx(1) * dx(1))
.
Data Type: double
v
- Discrete spatial-frequency vector
Read only: double row vector
Discrete spatial-frequency vector in the y-direction, calculated as (-floor(Nx(2)/2) : ceil(Nx(2)/2) - 1) / (Nx(2) * dx(2))
.
Data Type: double
interp
- Interpolant
Read only: scalar griddedInterpolant
object
Interpolates the surface temperature data T0tilde
defined on the discrete (x, y)
grid to estimate values at probe locations X_probe
.
Usage:
interp.Values = T0tilde;
T0tilde = interp(X_probe);
Where X_probe
is an N_probe
-by-2 numeric matrix.
Data Type: griddedInterpolant
Object Functions
solve
|
Solves the 2D inverse Fourier transform |