How MATLAB Reads an M File?

1 ビュー (過去 30 日間)
Rightia Rollmann
Rightia Rollmann 2017 年 3 月 4 日
回答済み: John D'Errico 2017 年 3 月 4 日
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

回答 (1 件)

John D'Errico
John D'Errico 2017 年 3 月 4 日
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.

Community Treasure Hunt

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

Start Hunting!

Translated by