MATLAB Compilerでコンパイルしたexeファイルでも、pwdで絶対パスの取得はできます。 例えば、
function getPwd
out = pwd;
disp(out)
mkdir(out, 'result');
A = ones(1);
csvwrite(fullfile('result', 'A.csv'), A)
のような関数で、MATLAB Compilerのコンパイル時のオプションで「Windowsの実行コマンドシェルを表示しない」のチェックを外してexeを作成し、
コンパイル時に作成されるフォルダーfor_redistribution_files_only内にあるexeを実行すると、コマンドプロンプト上でpwdの表示(disp(out))が出力されます。(赤枠部分)
ただし、for_redistribution内にできるインストーラーのexe(MyAppInstaller_web.exe)からインストールすると、C:\Program Filesの中にexeがインストールされてしまいますが、ここのフォルダーには一般ユーザーでは書き込み権限が無く、MATLABのmkdirや結果ファイルの書き込みに失敗します。対応策としてはエクスプローラーでexeのインストールフォルダー(例えば、C:\Program Files\getPwd\application)を右クリックして「プロパティ」→セキュリティから一般ユーザーへの書き込み権限を追加することで回避できます。
ただ、Program Files内にデータを作成するのはセキュリティ的及びCドライブの容量的によろしくない場合があるので、、D:\Workのような別ドライブの別フォルダーに結果ファイルを出力するようにするのも手かもしれません。