MATLAB

プログラミングとアルゴリズム開発

MATLABでは高水準言語と各種開発ツールが用意されており、アルゴリズムやアプリケーションを簡単に開発、分析できます。

MATLAB によるプログラミングおよびアルゴリズムの開発(英語) 4:32
MATLAB の高水準言語と開発ツールを使用して、プログラムを作成しアルゴリズムを開発します。

MATLAB 言語

MATLAB 言語は、エンジニアリング上または科学上の問題の解決に欠かせないベクトル演算と行列演算をネイティブでサポートしているため、開発や実行が迅速です。

MATLAB 言語を使用すると、変数の宣言、データ型の指定、メモリの割り当てなどの低水準の管理タスクを行う必要がないため、アルゴリズムのプログラミングや開発にかかる時間を従来の言語よりも短縮できます。ベクトル演算と行列演算がサポートされていることから for ループが不要になることが多く、その結果、複数行の C または C++ コードが 1 行の MATLAB コードに置き換わります。

MATLAB には、フロー制御、エラー処理、オブジェクト指向プログラミング (OOP) といった従来のプログラミング言語の機能が含まれています。したがって、基本的なデータ型や高度なデータ構造を使用することも、カスタムのデータ型を定義することもできます。

1024 ランダム ビットを生成する通信アルゴリズムは、ベクトルを送信信号に変換し、複素ガウス雑音を付加し、結果をプロットするという操作を、9行の MATLAB コードに変換できます。
1024 ランダム ビットを生成する通信アルゴリズムは、ベクトルを送信信号に変換し、複素ガウス雑音を付加し、結果をプロットするという操作を、9行の MATLAB コードに変換できます。

コマンドを一つずつ対話的に実行することで、ただちに結果を生成できます。この方法により、複数のオプションが短期間で検討され、繰り返し実施されることで、最適なソリューションが得られます。対話の手順をスクリプトや関数として保存しておき、再利用したり、作業を自動化することができます。

MATLAB アドオン製品には、信号処理や通信、画像および動画処理、制御システムといった分野に向けた組み込みアルゴリズムが数多く用意されています。これらのアルゴリズムをユーザー自身のものと組み合わせることで、複雑なプログラムやアプリケーションを構築できます。

開発ツール

MATLAB には、効率的にアルゴリズム開発を行うため、以下のようなさまざまなツールが用意されています。

  • コマンド ウィンドウ - 対話的なデータ入力、コマンドやプログラムの実行、結果表示が可能
  • MATLAB エディター - ブレークポイントの設定、各コード行のステップ実行などの編集およびデバッグ機能
  • コード アナライザー - コードの問題の自動チェックおよびパフォーマンスと保守性を最大化する変更の推奨
  • MATLAB プロファイラー - MATLAB プログラムのパフォーマンス分析およびコードの改良部位の特定

この他、コードとデータ ファイルの照合によって、ファイル依存性、注釈付きリマインダー、コード カバレッジをレポートするツールがあります。

デバッグ モードで実行されて問題を診断する MATLAB プログラム。
デバッグ モードで実行されて問題を診断する MATLAB プログラム。

他の言語やアプリケーションとの統合

MATLAB アプリケーションは他の言語で作成されたアプリケーションと統合することができます。

MATLAB からは、C、C++、Java、.NET で作成されたコードを直接呼び出せます。また、MATLAB エンジン ライブラリを使用して、C、C++、あるいは Fortran アプリケーションから MATLAB コードが呼び出せます。

パフォーマンス

MATLAB は、プロセッサに最適化されたライブラリを使用して、行列演算やベクトル演算を高速実行します。汎用のスカラー計算の場合、MATLAB はそのジャストインタイム (JIT) コンパイル テクノロジーによって、従来のプログラミング言語に匹敵する速度で実行します。

マルチコアおよびマルチプロセッサ コンピューターの優れた性能を活かせるように、MATLAB には多くのマルチスレッド線形代数関数および数値関数が用意されています。これらの関数は、1 つの MATLAB セッション内で自動的に複数の演算スレッド上で実行されるため、マルチコア コンピューターではより高速な実行が可能になります。

マルチコア デスクトップおよびその他の高性能の計算リソース (たとえば、GPU や並列計算製品アドオンを持つクラスターなど) の利点もさらに活用できます。これらの製品で提供される高度な構成では、MATLAB コードにほんのわずかな変更を加えるだけでアプリケーションの並列化が可能です。

次のトピック: アプリケーションの開発と配布
R2014a

新しい MATLAB デスクトップを見る

MATLAB 入門 5:07

MATLAB Student