MATLAB: Calling Functions Files within a Script File

matlab function

I'm writing a GUI script and I'm trying to streamline the code. To do this, I'm creating functions that perform specific processes and calling them from within the main script. The problem is that I haven't been able to call them effectively.
I thought all I would need to do is the following:
% --- Executes on selection change in popupmenu_filters.
function popupmenu_filters_Callback(hObject, eventdata, handles)
% hObject handle to popupmenu_filters (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
filters
where "filters" is the function that I'm calling and I have a filters.m file saved in the same folder. Is there something wrong with my syntax?

Best Answer

There are three kinds of .m files: scripts, functions, and class definitions. Class definition .m files have the word "classdef" as the first non-comment word in the .m file. Function .m files have the word "function" as the first non-comment word in the .m file. Script files never have "function" appearing other than in a comment or a string. If you have a script that has the executable line
function popupmenu_filters_Callback(hObject, eventdata, handles)
then MATLAB will refuse to process the file.
If your "GUI script" is actually a GUI function file, then it is okay to have that line in the file.
Does the function "filters" require any parameters? If so then you must pass the parameters on the command line, such as
filters('z17q9', 'bandpass', [3 1 4 1 5 9])
Related Question