お役立ちコンテンツ
通信教育

サイト内検索

DADiSP/ MATLINK

MATLABコード実行化モジュール

MATLABコード実行化モジュール

MATLINKはMATLABコードを実行するためのインターフェイスを実現しています。MATLABの関数を、DADiSPにある関数と同じ要領で処理することができます。 コードの書き直しや一時的につくったファイルを操作する必要がなく、MATLABのプログラムの機能性をDADiSP環境に含ませることができます。

シリーズ、数列、スカラー、書式はすべて自動的に交換されます。ワークシートに埋め込まれたMATLABコードは、ウィンドウが更新されたときに自動的に実行されます。

主な機能

  • DADiSPから一貫したMATLABコードの実行が可能
  • MATLAB関数やスクリプトの作成・編集が可能
  • コードの書き直しが不要で様々なMATLABプログラムが使用可能
  • 通常のMATLAB構文における表現の評価をサポート
  • DADiSP関数とMATLABコードの互換性が自由
  • シリーズ結果等の自動的な視覚化
  • プログラムの双方向の交換
  • 実数と複素数の両方のデータを処理可能
  • スカラーや書式データの対応
  • MATLAB 4.0以上に対応

注:MATLABは、MathWorks社の登録商標です。

機能詳細

MATLAB コード実行化モジュール

MATLINKはMATLABプログラムをDADiSPから直接実行し、相互のデータを交換することができます。

MATLAB関数やスクリプトの作成・編集がDADiSP関数と同じ要領で実行することができます。

スカラーや書式などの列データが、Active Xのインターフェイスを通して最初のバイナリ形式に交換されます。

  • 動作原理

    DADiSPを通して簡単にMATLABオブジェクトを作成します。MATLABオブジェクトはMATLABで使用される表現を実行することができ、実行結果はActiveXを通してDADiSPの結果として返されます。コードはMATLAB上で動いているため、MATLABで通常返される結果と同じ結果となります。

  • ml . 構文

    MATLABオブジェクトのデフォルト名はml .となっています。例として、以下のDADiSPコマンドでは現在のMATLABのバージョンを表示します。

     ml . version

    MATLABへの接続は自動的に行われ、初期設定などは必要ありません。

    MATLABオブジェクトml . 構文
  • Mix and Match

    DADiSPとMATLAB関数は互換性があり、ワークシートやSPL関数内において相互に連絡します。例えば、

     W1 : gnorm ( 10000, 1 ) W2 : ml . diff ( W1 )

    W1は10,000のサンプル点数を含んだガウス分布のランダムノイズです。上式では、MATLAB diff 関数によって計算処理され、結果がW2に表示されます。また、W1のデータが変更されればW2も自動的に更新されます。 このdiff 関数では下記以外の操作は他のDADiSP関数と同じように実行可能となっています。

     1. DADiSPが要求されたデータをMATLABへ送ること

     2. MATLABが関数を実行すること

     3. 実行結果がDADiSPへ返されること

    全体の実行処理は自動的かつ能率的に行われます。

  • データの交換

    MATLINKでは、DADiSPとMATLABで使用されるそれぞれの変数を的確にデータ交換します。例えば、

     / / assign a DADiSP series to a MATLAB variable
     ml . MatVar = 1 . . 100 ;

     / / return a MATLAB variable to DADiSP and process
     x = 10 * ml . MatVar ;

    MATLABの変数であるMatVarが生成し、1から100までの値をもつシリーズとなります。そしてDADiSPの変数であるxは、MATLAB変数に10を掛けた値を含みます。ここで要求されたデータの転送はMATLABオブジェクトとして自動的に処理され、.(ドット)構文はプログラム変数を交換する操作を与えます。

  • MATLABコマンドプロンプト

    MATLAB構文に含まれるMATLABの表現は、> のコマンドプロンプトを使用すると直接実行可能となります。例として、

     W1 : > 1 : 100
     W2 : integ ( W1 )

    W1はMATLABの表現として、1から100までの値を含みます。W2はW1データを積分します。このときにおいても、W1の変更が直ぐW2に反映されます。
    DADiSP上で1 . . 100と定義すれば同等のデータが組まれますが、MATLAB構文では上記のように1 : 100と表現されます。ある表現が > コマンドプロンプトに付随したときに、通常のMATLAB構文における表現が構築されます。

  • 追加特長

    MATLAB関数に対するヘルプは、mlhelp関数を使用して表示することができます。例として、

     mlhelp eig

    ここでは、MATLAB関数のeig 関数についてのヘルプを参照することができます。 すなわち、複数の値をMATLAB関数から返すことも可能です。例として、

     W1 : rand ( 10 )
     W2 : ( v , d ) = ml . eig ( W1 ) ; d

    eig 関数は2つの列を返します。固有値を含む対角行列がW2に表示されます。

    MATLABから発せられたエラーメッセージや警告文がDADiSP上に表示されます。結果となる関数はポップアップウィンドウに表示されます。現在利用可能なMATLAB変数のリストを表示させる関数は以下のとおりです。

     ml . whos
  • 必要規格

    MATLINKはライセンス取得したMATLAB ver 4.0以上のコピーを必要とします。また同様に、DADiSP 6.0 Build 19以上も必要となります。DADiSPのバージョンアップの際はお知らせ頂けると幸いです。

MATLINK関数リスト

MATLINK関数はMATLABオブジェクトから簡単に導くことができます。下記の構文は、関数形式のMATLAB表現や互換データを評価するために利用することができます。

 

MATLINK関数

mleval MATLAB関数を評価します。
mlexec MATLAB構文中の表現を実行します。
mlget MATLAB変数からデータを取得します。
mlhelp MATLAB関数のヘルプを表示します。
mlinit MATLABへの連絡を初期化しMATLABオブジェクトを作成します。
mlput MATLAB変数にデータを設定します。
mlvisible MATLABオートメーションサーバーの表示・非表示を行います。