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

A
Adalynn · Mar 19, 2021 · 1.9K views
Question
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 PhD Expert
Answered Aug 29, 2026
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.
100% Run Guarantee 3-Hour Fast-Track Delivery

Need a Custom Version or Complete Simulation for This Problem?

Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.

Tested on MATLAB R2024b / R2026a
Turnitin 0% Plagiarism Report
Free 7-Day Revisions Guarantee
Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!