シェル エスケープ関数の例
"シェル エスケープ関数" を使用して、独自の C プログラムや Fortran プログラムにアクセスすると便利な場合があります。シェル エスケープ関数では、シェル エスケープ コマンド ! を使用して、外部のスタンドアロン プログラムを新しい MATLAB® 関数のように機能させることができます。
たとえば、以下の関数 garfield.m では外部関数 gareqn を使用して Garfield 方程式の解を求めます。
function y = garfield(a,b,q,r) save gardata a b q r !gareqn load gardata
この関数では以下の操作が行われます。
saveコマンドを使用して、入力引数a、b、q、およびrがワークスペース内の MAT ファイルに保存されます。シェル エスケープ演算子を使用して、ワークスペース変数を使用する
gareqnという名前の C プログラムまたは Fortran プログラムにアクセスし、計算を実行します。関数gareqnでは、その結果がgardataMAT ファイルに書き込まれます。gardataMAT ファイルを読み込んで結果を取得します。