MATLAB Compiler SDK
MATLAB プログラムからソフトウェア コンポーネントをビルド
MATLAB Compiler SDK™ は MATLAB Compiler™ の機能を拡張して、MATLAB® プログラムからの C/C++ 共有ライブラリ、Microsoft® .NET アセンブリ、Java® クラス、Python® パッケージのビルドを可能にします。これらのコンポーネントをカスタム アプリケーションに統合して、デスクトップ、Web、およびエンタープライズ システムに展開できます。
MATLAB Compiler SDK には、アプリケーション コードや Excel アドインを Web アプリケーションやエンタープライズ システムに展開する前にテストおよびデバッグできる MATLAB Production Server™ の開発版が含まれています。
MATLAB Compiler SDK のソフトウェア コンポーネントを使用して作成されたアプリケーションを、MATLAB を必要としないユーザーと無償で共有できます。これらのアプリケーションは、コンパイルした MATLAB アプリケーションやコンポーネントの実行を可能にする一連の共有ライブラリである、MATLAB Runtime を使用します。
MATLABからの Cおよび C++ のソースコード生成には、MATLAB Coder™ を使用します。
今すぐ始める:
ソフトウェア コンポーネントの構築
他のプログラミング言語と統合するか、または MATLAB Production Server で実行するかに関わらず同じ基本的なプロセスに従って進みます。
- MATLAB アプリケーション コードを作成します。
- 対話型アプリまたはコマンドラインを使用して、MATLAB コードを言語固有のコンポーネントに、または MATLAB Production Server へと展開可能なアーカイブにパッケージ化します。
- Visual Studio®、Eclipse®、XCode など好みの開発環境を使用してコンポーネント、または MATLAB Production Server クライアント ライブラリをホスト アプリケーションに統合します。
- アプリケーションを完成させ、対象のコンピューターにインストール します。デスクトップ アプリケーションの場合はローカル インストール、サーバーベースのアプリケーションの場合は集中型インストールをします。
C/C++ アプリケーション
C/C++ で作成されたアプリケーション向けに、MATLAB Compiler SDK には次の機能が用意されています。
- スレッドセーフ ライブラリを作成
- Visual Studio にシームレスに統合するダイナミック ライブラリ ファイルを作成 (Windows® アプリケーションの場合)。
- C または C++ アプリケーションに含めるためのヘッダー ファイルの関数シグネチャおよびライブラリファイルの暗号化コードの作成。
- C++ MATLAB データ API 共有ライブラリを使用して、C++ 11 機能とタイプセーフティ、マルチスレッドセーフティをサポート。
- インプロセスまたはアウトプロセスのどちらでも実行可能な、C++ MATLAB データ API 共有ライブラリを用いて関数の非同期呼び出し。
MATLAB Coder™ を使用して、MATLAB プログラムを可読性があり移植可能な C/C++ コードとライブラリに変換することもできます。
.NET および COM アプリケーション
.NET または COM で作成されたアプリケーション向けに、MATLAB Compiler SDK には次の機能が用意されています。
- ネイティブの .NET および COM コンポーネントと同様にアクセスできるように MATLAB プログラムで使用する .NET または COM ラッパーを生成。
- .NET Core を使用して非 Windows プラットフォームで .NET アプリケーションを実行。
- コンポーネントのパブリックメソッドとして MATLAB コードファイルおよび MEX ファイルを追加して、アクセス。
- C#、F#、VB.NET、ASP.NET を含む CLS (共通言語仕様) 準拠の言語から .NET コンポーネントの呼び出し。
- Visual Basic® や ASP を含む COM 準拠のテクノロジーから COM オブジェクトの呼び出し。
- タイプセーフ インターフェイスを使用して既存のインターフェイスを .NET アプリケーションに統合。
- .NET オブジェクトをコンパイル済みの MATLAB 関数に直接受け渡し。
- データ変換クラスを使用してデータを手動で変換し、出力データを管理。
- Web または エンタープライズ向けSOA (サービス指向アーキテクチャ) で WCF (Windows Communication Foundation) をサポート。
- クラスを永続サービスとして実行するか、コンポーネントを複数のプロセスで実行できるように.NET リモート処理 API をサポート。
Java アプリケーション
Java アプリケーション向けに、MATLAB Compiler SDK には次の機能が用意されています。
- 他の Java クラスと同様に動作するように MATLAB プログラムの Java ラッパーを生成。クラスのプロパティとメソッドを識別する Javadoc も作成。
- コンポーネントの外部で表示されるクラスメソッドとして機能する MATLAB ファイルと MEX ファイルを追加。
- Java クラスが移植可能で、MATLAB でサポートされるすべてのプラットフォームで実行されることを確認。(一部のツールボックス関数はプラットフォームに依存する MEX ファイルまたはネイティブライブラリとして実装されているため、これらの関数とそれらの関数を使用するすべての Java コンポーネントはプラットフォーム固有になります。)
- ネイティブの Java データ型を MATLAB 関数に渡して、自動的に MATLAB データ型に変換するか、使用するデータ型を明示的に選択。
- SOA、SOAP サービス、WSDL、RMI インターフェイス、HTTP サービス、Java サーブレット、JSPを用いた Java コンポーネントとして展開される MATLAB Web アプリケーションにアクセス。
- RMI (Remote Method Invocation) インターフェイスを使用してクラスを永続サービスとして実行するか、複数のプロセスまたはコンピューターに処理を分散。
Python アプリケーション
Python アプリケーション向けに、MATLAB Compiler SDK には次の機能が用意されています。
- Python アプリケーションまたは対話型セッションによってアクセスされる、MEX ファイルを含むMATLAB プログラム用のPython パッケージを生成。
- 自動変換による、ネイティブの Python データ型の MATLAB 関数への受け渡し。
- 製品に含まれるPython クラスを使用した、展開可能なアーカイブの MATLAB 関数への多次元配列の受け渡し。
- MATLAB エンジン API を使用し、MATLAB コードを Python アプリケーションに統合。これを使い、MATLAB Production Server または MATLAB Compiler SDK で構築されたカスタム Python アプリケーションに対してデバッグや展開可能。
MATLAB Production Server
MATLAB Production Server を使用して、安全でスケール可能かつ管理しやすいプラットフォームに MATLAB プログラムを提供。MATLAB Production Server で提供される関数は、軽量クライアント ライブラリを使用して C/C++、.NET、Java、および Python アプリケーションから呼び出すことができます。また MATLAB Production Server は、モバイルアプリなど幅広いアプリケーションから呼び出すことができる RESTful インターフェイスを関数に提供します。MATLAB Compiler SDK には、運用システムに展開する前にローカルでテストおよびデバッグできる MATLAB Production Server の開発版が含まれています。
カスタムのアプリケーション サーバー
独自のインフラストラクチャの活用に関心がある開発者向けに、MATLAB Compiler SDK で生成されたコンポーネントは、ASP.NET、SOA、WSDL、SOAP、XML、JavaScript®、HTML、HTTP サービス、Java サーブレット、JSP、および Java RMI や .NET リモート処理などの標準テクノロジーに統合されてスケーラビリティを実現します。多数の同時リクエストを処理する必要のあるアプリケーションの場合は、アプリケーション サーバーとコンパイルした MATLAB コードの間に RMI サーバーの中間レイヤーを作成できます。
コンポーネントのパッケージ化
パッケージ化の処理中、MATLAB Compiler SDK はプログラムの実行に必要な MATLAB 関数とファイルのみを統合し、結果として生じるコンポーネントのサイズを最適化します。MATLAB コードは暗号化され、アプリケーションのユーザーからソースコードを保護します。
コンポーネントの配布
展開されるすべてのアプリケーションとコンポーネントは、MATLAB Runtime を使用して MATLAB を所有していないユーザーに無償で配布できます。デスクトップ プラットフォームの場合、アプリケーションとランタイムは対象のコンピューターに直接インストールされますが、Web とエンタープライズ アプリケーションおよび関連のランタイムを中央サーバーにインストールすると管理と配布を容易に行うことができます。最高の体験をアプリケーションのユーザーに提供するため、MATLAB Compiler SDK では MATLAB Runtime をインストール パッケージで提供するか、インストール中に自動的にダウンロードするかを指定することができます。
Java ライブラリの統合:
MATLAB string 配列のサポート
Python パッケージ統合のための Python バージョンのサポート:
Python 3.8 のサポートを追加
これらの機能および対応する関数の詳細については、リリースノート を参照してください。