pythonでの方法は知っていましたが,それのMatlab版をようやく見つけたので残しておきます。
fileparts(mfilename('fullpath'))
以下はテストコード。
test.m
fprintf("mfilename('fullpath') : %s \n", mfilename('fullpath'));
fprintf("fileparts(mfilename('fullpath')) : %s \n", fileparts(mfilename('fullpath')));
実行結果
mfilename('fullpath') : C:\Users\Ken\Documents\MATLAB\test
fileparts(mfilename('fullpath')) : C:\Users\Ken\Documents\MATLAB
なぜかファイルの拡張子が省略されます。詳細はmfilename関数のドキュメントを参照。昔調べたときはこの関数を見つけられなくて,Matlabではできないと思ってました。