R12 Release Notes | ![]() ![]() |
新規のJava機能を使って、JavaクラスをMATLAB環境に導入し、それらのクラスからオブジェクトを作成し、Javaオブジェクトについてメソッドを呼び出し、後でリロードするためにJavaオブジェクトを保存できます。これらすべては、MATLAB関数とコマンドを使って行います。ユーザ独自のJavaクラス定義を開発し、MATLABで利用することも可能です。
MATLAB Javaインタフェースは、Javaプログラミング言語の特殊機能を利用したいすべてのMATLABユーザに対して設計されています。インタフェースを使って以下のことが行えます。
URL
クラスは、インターネット上のリソースへの便利なアクセスを提供します。クラス名と同名であるJavaクラスコンストラクタを呼び出すことによって、MATLABでJavaオブジェクトを作成します。たとえば、以下のコンストラクタは、タイトルが'Frame A'
であるFrame
オブジェクトを作成します。その他のプロパティは、デフォルト値に設定されます。
frame = java.awt.Frame('Frame A');
Javaシンタックスを利用してこのオブジェクトに対してメソッドを呼び出します。
frame.setTitle('Sample Frame')
setTitle(frame,'Sample Frame')
この機能の詳しいドキュメントは、オンラインヘルプの"外部インタフェース/API"のMATLABからのJavaの呼び出しを参照してください。
Javaインタフェースの新規関数
MATLAB 6.0は、Javaインタフェースをサポートする以下の新規関数を提供します。
関数 |
目的 |
import |
カレントのJavaパッケージインポートリストを追加 |
isjava |
Javaオブジェクトを検出 |
javaArray |
Java配列を作成 |
javaMethod |
Javaメソッドを起動(特殊な場合にのみ利用) |
javaObject |
Javaオブジェクトを作成(特殊な場合にのみ利用) |
|
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関数
関数 |
目的 |
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を選択したときに自動的にシステムにインストールされます。
しかし、アドインを利用するためには、以下のステップを行う必要があります。
メニューに従い、Microsoft Visual C/C++ 5.0または6.0を選択します。これにより、選択されたMicrosoftコンパイラを利用するmex
を作成し、必要なアドインファイルをMicrosoft Visual C/C++ ディレクトリにインストールします。
注意
Windowsが"システムファイルを表示しない"に設定されている場合は、.dll ファイルは、ディスク上に存在しても表示されません。この機能を利用不可能にするには、表示オプションを変更する必要があります。 |
注意
Windows 95あるいはWindows 98システムでVisual Studio用MATLABアドインを実行するには、config.sys ファイルに以下の行を付け加えます。
|
Visual Studio用MATLABアドインに関する情報は、以下を参照してください。
<matlab>\bin\win32
ディレクトリのMATLABAddin.hlp
ファイルを参照してください。コマンドラインを無効にする
mex
スクリプトにオプションを一時的に指定するには、mex
コマンドライン無効機能を利用できます。たとえば、文字列/WX
は、ワーニングをエラーとして扱うMicrosoft Visual C/C++コンパイラのオプションです。以下のステートメントは、mex
コマンドライン無効機能を利用しています。
mex yprime.c COMPFLAGS#"$COMPFLAGS /WX"
文字列COMPFLAGS#"$COMPFLAGS /WX"
により、mex
はCOMPFLAGS
のデフォルト値を受け取り、 /WX
(スペース スラッシュ W X) を追加します。この機能を使って無効になるすべての環境変数の一覧を得るには、次のコマンドを使います。
mex -v
出力内のすべての大文字の変数名は、無効にすることが可能です。
シリアルI/O
MATLABのシリアルポートインタフェースは、コンピュータのシリアルポートに接続するモデム、プリンタ、科学機器のような周辺機器への直接アクセスを提供します。このインタフェースは、関数serial
を使って作成するシリアルポートオブジェクトによって確立されます。シリアルポートオブジェクトは、以下を行う関数とプロパティをサポートします。
![]() | 3次元可視化機能 | グラフィカルユーザインタフェースの作成機能 | ![]() |