R12 Release Notes    

外部インタフェース/API 関数

MATLABのJavaインタフェース

新規のJava機能を使って、JavaクラスをMATLAB環境に導入し、それらのクラスからオブジェクトを作成し、Javaオブジェクトについてメソッドを呼び出し、後でリロードするためにJavaオブジェクトを保存できます。これらすべては、MATLAB関数とコマンドを使って行います。ユーザ独自のJavaクラス定義を開発し、MATLABで利用することも可能です。

MATLAB Javaインタフェースは、Javaプログラミング言語の特殊機能を利用したいすべてのMATLABユーザに対して設計されています。インタフェースを使って以下のことが行えます。

クラス名と同名であるJavaクラスコンストラクタを呼び出すことによって、MATLABでJavaオブジェクトを作成します。たとえば、以下のコンストラクタは、タイトルが'Frame A'であるFrameオブジェクトを作成します。その他のプロパティは、デフォルト値に設定されます。

Javaシンタックスを利用してこのオブジェクトに対してメソッドを呼び出します。

あるいは以下のMATLABシンタックスを使います。

この機能の詳しいドキュメントは、オンラインヘルプの"外部インタフェース/API"のMATLABからのJavaの呼び出しを参照してください。

Javaインタフェースの新規関数

MATLAB 6.0は、Javaインタフェースをサポートする以下の新規関数を提供します。

関数
目的
import
カレントのJavaパッケージインポートリストを追加
isjava
Javaオブジェクトを検出
javaArray
Java配列を作成
javaMethod
Javaメソッドを起動(特殊な場合にのみ利用)
javaObject
Javaオブジェクトを作成(特殊な場合にのみ利用)
methodsview
JavaまたはMATLABクラスによって実現されるすべてのメソッドの情報を表示

既存の関数へのJava機能の追加

以下のMATLAB関数は、Javaオブジェクト、クラス、メソッドに対して機能します。

関数
目的
cell
Javaオブジェクト配列をMATLABセル配列に変換
char
java.lang.Stringオブジェクト、または配列をchar 配列、またはchar配列のセル配列に変換
class
Javaクラス名を出力
clear import
Javaパッケージインポートリストを削除
depfun
ファイルとその下位のファイルが利用するJavaクラス名を出力
disp
Javaオブジェクトの表示
double
Javaオブジェクトまたは配列をdoubleの配列に変換
exist
Javaクラスが存在するかどうかを決定
fieldnames
Javaオブジェクトのフィールド名を出力
inmem
ロードされたJavaクラス名を出力
isa
オブジェクトがJavaクラスであることを識別
isequal
Javaオブジェクトの比較
methods
Javaクラスのすべてのメソッドを出力
struct
Javaオブジェクトまたは配列をMATLAB構造体または構造体配列に変換
which
Javaクラスメソッドに対するパッケージ、クラス、メソッド名を出力

ロードされないJavaクラスの制約

JavaクラスをMATLABにロードし、後でクラスを修正およびリコンパイルする場合には、アップデートされたクラス定義を利用するためにMATLABを終了し再起動しなければなりません。この制約は、Java VMがロードされたJavaクラスをアンロードする方法を提供しないために存在します。MATLABを終了し再起動することで、Java VMは終了および再起動され、アップデートされたクラスをロードすることができます。

同様に、関数importは、アップデートされたクラス定義をインポートしません。まず、MATLABを終了して再起動しなければなりません。

Javaのバージョン

MATLABで利用されるJavaのバージョンは、プラットフォームにより異なり、Release 12では下記の表に示す通りです。

プラットフォーム
Javaバージョン
Compaq Alpha
1.1.8-5
IBM
1.2.2
Linux
1.1.8
Microsoft Windows
1.1.8
SGI
1.1.8-00
Sun Solaris
1.1.8-09a

MATLABで利用されているJavaバージョンを見るためには、コマンドウィンドウでversion -javaとタイプしてください。

新規のC言語mx関数

以下のmx関数は、本リリースに新たに含まれます。

関数
目的
mxCreateNumericMatrix
数値行列を作成し、すべてのデータ要素を0に初期化します。
mxCreateScalarDouble
指定した値に初期化されたスカラの倍精度配列を作成します。

サポートコンパイラの追加

MATLABは、以下のコンパイラ用にあらかじめ設定されたオプションファイルを含んでいます。

Visual Studioに対するアドインの利用

The MathWorksは、Microsoft Visual C/C++(MSVC)内で、簡単に作業が行えるVisual Studio®開発システム用のMATLABアドインを提供します。Visual Studio用のMATLABアドインは、MSVC環境でのM-ファイルの利用を大きく簡略化します。アドインは、Visual C++プロジェクトへのM-ファイルの統合を自動化します。これは、MSVC環境と完全に統合されています。

Visual Studio用アドインは、mbuild -setupまたはmex -setupを実行し、Microsoft Visual C/C++ version 5または6を選択したときに自動的にシステムにインストールされます。

しかし、アドインを利用するためには、以下のステップを行う必要があります。

  1. Visual Studio用アドインを使ってMEX-ファイルを作成するには、MATLABコマンドプロンプトで以下のコマンドを実行します

    メニューに従い、Microsoft Visual C/C++ 5.0または6.0を選択します。これにより、選択されたMicrosoftコンパイラを利用するmexを作成し、必要なアドインファイルをMicrosoft Visual C/C++ ディレクトリにインストールします。

  1. Microsoft Visual C/C++と動作するVisual Studio用MATLABアドインを設定するには、以下のようにします。
    1. MSVCメニューからツール -> カスタマイズを選択します。
    2. アドインおよびマクロファイルタブをクリックします。
    3. 参照をクリックし、 <matlab>\bin\win32 をファイル名として入力し、ファイルの種類プルダウンリストからアドインアドイン(.dll)を選択します。

    1. MATLABAddin.dll ファイルを選択し、開くをクリックします。
    2. アドインおよびマクロファイルリストのMATLAB for Visual Studioをチェックし、閉じるをクリックします。Visual StudioツールバーにMATLABアドインが現れます。チェックマークは、MSVCの起動時にアドインを自動的にロードすることを示します。

Visual Studio用MATLABアドインに関する情報は、以下を参照してください。

コマンドラインを無効にする

mexスクリプトにオプションを一時的に指定するには、mexコマンドライン無効機能を利用できます。たとえば、文字列/WXは、ワーニングをエラーとして扱うMicrosoft Visual C/C++コンパイラのオプションです。以下のステートメントは、mexコマンドライン無効機能を利用しています。

文字列COMPFLAGS#"$COMPFLAGS /WX"により、mexCOMPFLAGSのデフォルト値を受け取り、 /WX (スペース スラッシュ W X) を追加します。この機能を使って無効になるすべての環境変数の一覧を得るには、次のコマンドを使います。

出力内のすべての大文字の変数名は、無効にすることが可能です。

シリアルI/O

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


3次元可視化機能 グラフィカルユーザインタフェースの作成機能