designFilt error ONLY inside function

V
Vicente · Feb 18, 2021 · 1.9K views
Question
I'm using designFilt to make a simple bandpass filter for some data before doing further analysis:     myfilt = designfilt('bandpassfir','FilterOrder',20, 'CutoffFrequency1',0.1,'CutoffFrequency2',7, 'SampleRate',128); If I run this line directly in the command window, it works just fine. (In my old scripts it worked fine too.) However, when I call it from inside a function embedded in a larger script, I get this error:   Error using designfilt>parseAndDesignFilter (line 516) Incorrect dimensions for matrix multiplication. Check that the number of columns in the first  matrix matches the number of rows in the second matrix. To perform elementwise multiplication, use '.*'.   Error in designfilt (line 224) [err,requestedResponse,parseParams,h] = parseAndDesignFilter(inputParamValueNames, varargin{:});   The code (inserted above) is literally copy-pasted from the script, so I cannot figure out what the difference is. I've tried making sure that the "myfilt" variable is cleared each time the function is called just in case there was some problem there. It has no effect. I don't even know what to try next. Any suggestions?
Expert Answer
Profile picture of John Michell
John Michell PhD Expert
Answered Aug 24, 2026
Your code runs for me without error, both in a script and from inside a function the script calls. There must be something in your script file that’s interfering with it.
As a workaround, if you have R2018a or later, consider using the lowpass function.

 

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!