How MATLAB Reads an M File?

1 view (last 30 days)
Rightia Rollmann
Rightia Rollmann on 4 Mar 2017
Answered: John D'Errico on 4 Mar 2017
I have the two following functions in a MATLAB M File. Am I right that when you run an M File in Matlab, MATLAB ALWAYS executes the first function (here myfun), and does't run others unless I execute them (e.g., typeing and entering myfun2)?
How Can I tell MATLAB to read the second function in the M File first?
function myfun
b = 1
end
function myfun2
if exist('b')
disp('exists');
elseif ~exist('b')
disp('does not');
end
end

Answers (1)

John D'Errico
John D'Errico on 4 Mar 2017
NO. MATLAB does not "read" any function, as you seem to be thinking.
The secondary functions (beyond that main one) are accessible only when called by the main function. While (if you know what you are doing) you can extract function handles to allow you to use those secondary functions, why bother?
Just save the other functions in their own distinct m-files. Now you can use them in any order you wish.

Categories

Find more on Environment and Settings in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!