Release 12.1 リリースノート    

外部インタフェース/API 機能

Java 配列の結合

MATLAB 6.1 では、次元の異なる Java オブジェクトの配列を結合できます。以下の例題では、java.lang.Integer の 2行 3列の配列と同じクラスをもつ 4行 3列の配列を結合します。

垂直な結合 [A;B] は、同じ列数をもつため簡単です。水平な結合 [A B] は、2つの配列を最初と2番目の列が 6行で、3番目と4番目の列が 3列の不規則な配列に合わせます。

新規 Fortran MX、MEX、MAT、ENG 関数

以下の関数が Fortran MX、MEX、MAT、Engine 外部インタフェースに追加されました。これらの関数のほとんどは、MATLAB C language API に既に存在します。

表 2-1: 新規 Fortran MX 関数
mxAddField
mxCalcSingleSubscript
mxClassIDFromClassName
mxClearLogical
mxCopyComplex8ToPtr
mxCopyInteger1ToPtr
mxCopyInteger2ToPtr
mxCopyPtrToComplex8
mxCopyPtrToInteger1
mxCopyPtrToInteger2
mxCopyPtrToReal4
mxCopyReal4ToPtr
mxCreateCellArray
mxCreateCellMatrix
mxCreateCharArray
mxCreateCharMatrixFromStrings
mxCreateDoubleMatrix
mxCreateNumericArray
mxCreateNumericMatrix
mxCreateScalarDouble
mxCreateStructArray
mxCreateStructMatrix
mxDestroyArray
mxDuplicateArray
mxGetCell
mxGetClassID
mxGetClassName
mxGetData
mxGetDimensions
mxGetElementSize
mxGetEps
mxGetField
mxGetFieldByNumber
mxGetFieldNameByNumber
mxGetFieldNumber
mxGetImagData
mxGetInf
mxGetNaN
mxGetNumberOfDimensions
mxGetNumberOfElements
mxGetNumberOfFields
mxIsCell
mxIsChar
mxIsClass
mxIsEmpty
mxIsFinite
mxIsFromGlobalWS
mxIsInf
mxIsInt8
mxIsInt16
mxIsInt32
mxIsLogical
mxIsNaN
mxIsSingle
mxIsStruct
mxIsUint8
mxIsUint16
mxIsUint32
mxMalloc
mxRealloc
mxRemoveField
mxSetCell
mxSetData
mxSetDimensions
mxSetField
mxSetFieldByNumber
mxSetImagData
mxSetLogical



表 2-2: 新規 Fortran MEX 関数
mexFunctionName
mexGetArray
mexGetArrayPtr
mexIsGlobal
mexIsLocked
mexLock
mexMakeArrayPersistant
mexMakeMemoryPersistant
mexPutArray
mexUnlock
mexWarnMsgTxt



表 2-3: 新規 Fortran MAT 関数
matDeleteArray
matGetArray
matGetArrayHeader
matGetNextArray
matGetNextArrayHeader
matPutArray
matPutArrayAsGlobal



表 2-4: 新規 Fortranエンジン関数
engGetArray
engPutArray

ActiveX およびエンジンインタフェースに追加されたプロパティ

Windows 上で実行中の ActiveX Automation serverアプリケーションと MATLABエンジンアプリケーションに対して、Visible と呼ばれる新規プロパティを使って Windows デスクトップ上にアプリケーションウィンドウが表示されるかどうかコントロールできます。

Visible が設定されている場合、ActiveX アプリケーションまたはエンジンのサーバウィンドウはデスクトップで見ることができ、ユーザはサーバと対話できます。これがデフォルトになります。Visible がクリアされている場合、アプリケーションまたはエンジンウィンドウはデスクトップから取り除かれます。

ActiveX. この例題は、h.visible0 に設定し、 ActiveX automation server アプリケーションを非可視にします。h.visibleを調べて3行目の可視性の設定をチェックします。

MATLABエンジン. MATLABエンジンセッションに対しては、MATLAB 6.1 では新規の engSetVisibleengGetVisible 関数を使用します。以下の 4行目は、engSetVisible に引数 0 を設定することでMATLABエンジンウィンドウを見えなくしています。5行目は、engGetVisible を使ってこの設定を確認しています。

シリアル I/O

MATLABのシリアルポートインタフェースは、コンピュータのシリアルポートに接続するモデム、プリンタ、科学機器のような周辺機器へ直接アクセスを提供します。このインタフェースは、関数 serial を使って作成するシリアルポートオブジェクトによって確立されます。シリアルポートオブジェクトは、以下を行う関数とプロパティをサポートします。

Windows プラットフォーム上でのシリアルポートの開放 シリアルポートオブジェクトは、シリアルポートと通信するために javax.comm パッケージを使用します。しかし、javax.comm のメモリのリークによって、シリアルポートオブジェクトはメモリから開放されません。関数 freeserial を使用して、シリアルポートを MATLAB から開放します。

freeserial は、Windows プラットフォーム上でのみ必要です。シリアルポートが指定のポートに接続された後に別のアプリケーションからそのシリアルポートに接続し、MATLABは終了したくない場合のみ、freeserial を使用します。

イベント、コールバック、関数ハンドル Action プロパティと action 関数は、callback プロパティおよび callback 関数と呼ばれます。この新しい用語は、関連するプロパティと関数の新しい名前に反映されています。名前の変更に関する一般的な規則は、プロパティについては、"Action" を "Fcn" に変更し、関数については、"action" を "callback" に変更します。たとえば、TimerActionTimerFcn に変更され、instractioninstrcallback に変更されています。

また、コールバック関数へオブジェクト情報とイベント情報を自動的に渡したい場合、関数ハンドルまたはセル配列として関数を指定しなければなりません。コールバック関数を文字列として指定できることに注意してください。この場合、コールバックはワークスペースで評価され、関数の入力引数には必要条件はありません。

既存のプロパティの機能強化


OpenGL レンダラー機能 -- Microsoft Windows グラフィカルユーザインタフェースの作成 -- GUIDE