Can I use MATLAB to do a Hilbert Transform on a 3-D array in MATLAB?

Illustration
Adalynn - 2021-03-19T14:54:35+00:00
Question: Can I use MATLAB to do a Hilbert Transform on a 3-D array in MATLAB?

I want to perform a Hilbert transform of 3-D array A of size M*N*L. When I use the MATLAB function     hilbert(A); it gives me following errors: ??? Error using ==> .* Number of array dimensions must match for binary array op. Error in ==> X:\MATLAB6p5\toolbox\signal\signal\hilbert.m On line 58 ==> x = ifft(x.*h(:,ones(1,size(x,2)))); I would like to know if there is any limitation on the HILBERT() function, and if there is any function I can use to calculate the Hilbert transform of a 3-D array.

Expert Answer

Profile picture of John Michell John Michell answered . 2025-11-20

The HILBERT function expects its input argument to be at most 2-D. When you enter a 3-D argument, the function returns the error listed above.
If you need to work with the HILBERT function and a 3-D matrix, please break the 3-D  matrixup into 2-D layers and run the HILBERT algorithm in a loop to cover the entire matrix.


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!