Mファイルの最初の関数は基本関数と呼ばれる。基本関数には、その関数を定義しているMファイルと同じ名前を付けることが慣例となっている。関数名とファイル名が異なる場合は、ファイル名を使用して関数を実行しなければならない。
通常、Mファイル関数はendステートメントで終了させる必要はない。ただし、関数ないで関数を入れ子にした場合は、全ての関数(サブ関数含む)をendステートメントで終了させなければならない。
Mファイルには複数の関数のコードを記述できる。Mファイル内の追加の関数はサブ関数と呼ばれ、同じファイル内の基本関数、または他のサブ関数からのみ参照することができる。
各サブ関数はそれ自体を定義するラインから始まる。サブ関数は他の関数のすぐ後に続けることができる。なお、これら一連の関数にendステートメントは不要。