Programming and Data Types    

シェルエスケープ機能

シェルエスケープ機能を使って、ユーザ自身のC、または、Fortranプログラムにアクセスすることが有効な場合があります。シェルエスケープ機能は、シェルエスケープコマンド!を使って、外部のスタンドアロンプログラムを新しいMATLAB関数として機能させることができます。シェルエスケープM-関数は

  1. ディスクに適切な変数をセーブします。
  2. 外部プログラムを実行します(データファイルを読み、データを処理し、結果をディスクに書き込みます)。
  3. 処理されたファイルからワークスペースにロードし直します。

を行なうM-ファイルです。たとえば、つぎのgarfield.mのコードを見てみましょう。この関数は、外部関数gareqnを使って、Garfield方程式の解を求めるものです。

このM-ファイルは、つぎの手順で処理します。

  1. ワークスペース内の入力引数a, b, q, rsaveコマンドを使って、MAT-ファイルにセーブします。
  2. シェルエスケープ演算子を使って、gareqnと名付けたC、または、Fortranプログラムを読み込みます。そして、この計算を行なうためにワークスペース変数を使います。gareqnは、MAT-ファイルgareqnに結果を書き出します。
  3. gardata MAT-ファイルをロードして、結果を得ます。

 

  ユーザ入力 MATLABコードの性能の最適化