Location : Home > Languages > Perl > Package
Title : Math::Matlab::Engine
Toolbox Logo

名称

 Math::Matlab::Engine - Perl から Matlab を利用


概要

use Math::Matlab::Engine;

$ep = Math::Matlab::Engine->new();
$ep->PutMatrix('N',2,3,[1,2,3,4,5,6]);

$n = $ep->GetGetMatrix('N');
$ep->EvalString("plot(N)");

説明

 本モジュールは C ライブラリ matlab.h に関するラッパである。

クラスメソッド

$ep = Math::Matlab::Engine->new();

 新たに Math::Matlab::Engine オブジェクトを生成する。

オブジェクトメソッド

$ep->PutMatrix($name, $rows, $columns, $dataref);

 本メソッドは Matlab で $name という変数名で扱うために $column 列× $rows 行の行列を扱う。
 データは配列参照 $dataref で特定される。

EXAMPLE:
$ep->PutMatrix('N',3,2,[0,8,15,2,3,9]);

これは Matlab の名前空間に行列 N = [0,8,15;2,3,9] を書き込む。

$n = $ep->GetMatrix($name);

 本メソッドは Matlab オブジェクト $name が2次元行列であればその値を取得し、そうでなければ undef を返す。

$ep->EvalString($string);

 本メソッドは Matlab に評価のために任意の文字列式を送る。

EXAMPLE:
$ep->EvalString("[T,Y]=ode23t('func',[0 100],[1,1,1,1])");

$ep->PutArray($name, $dimlistref, $dataref);

 本メソッドは Matlab に名称 $name で複数次元の配列を送る。次元は配列参照 $dimlistref で定義され、データは配列参照 $dataref で定義される。
 $p が pdl オブジェクトであれば、 $ep->PutArray($name,[$p->dims],[$p->list]); と書くことができる。

$n = $ep->GetArray($name);

 本メソッドは Matlab オブジェクト $name を多次元配列参照として取得する。

エクスポート

 デフォルトではなし。

バグ

 PutArray は次元の周りでぐるぐる回る。この問題に関してエレガントな解決策を見出せていない。
 2次元の場合には Matrix メソッドを使え。

To Do

 -Array メソッドは次元数を正しく反映するように修正されなければならない。


著者

 O. Ebenhoeh, <oliver.ebenhoeh@rz.hu-berlin.de>


参考資料

 perl

Toolbox Logo
Updated : 2007/02/22