No. Only the first function in a .m file can be invoked by name, and the name it is known by to be called is the same as the name of the .m file rather than the actual function name (but modern versions will give you a warning if those are not the same.)
If you need to be able to invoke a different function, then the outside world has to somehow be given a handle to the function. For example,
function funs = switchyard
funs.mult = @mult;
funs.div = @div;
function c = mult(a, b)
c = a*b;
function d = div(a, b)
d = a/b;
then it would be legal for something to call
F = switchyard();
F.div( F.mult(3, 7), 19)
The closest that there is to an exception to this is class definitions, which you to create object-oriented objects and put several implementing functions into the same .m file.
You should probably also have a look at "packages" . And at "private" directories.