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
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
Related matlab Questions & Solutions
Browse All →
Explore similar technical troubleshooting questions and verified MATLAB solutions:
Ready-to-Run MATLAB & Simulink Projects
Browse All Projects →