NAME
Math::Matlab::Engine - Perl extension for using Matlab from within Perl
SYNOPSIS
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)");
DESCRIPTION
This module is a wrapper around the C library matlab.h.
CLASS METHODS
$ep = Math::Matlab::Engine->new();
creates a new Math::Matlab::Engine object
OBJECT METHODS
$ep->PutMatrix($name, $rows, $columns, $dataref);
This methods hands a matrix with $column columns and $rows rows to Matlab with the name $name. The data is specified by the arrayref $dataref.
EXAMPLE: $ep->PutMatrix('N',3,2,[0,8,15,2,3,9]);
writes the matrix "N=[0,8,15;2,3,9]" into matlab's namespace.
$n = $ep->GetMatrix($name);
This method retrieves the matlab object $name if it represents a two-dimensional matrix, undef otherwise.
$ep->EvalString($string);
This methods sends an arbitrary string expression to matlab for evaluation, EXAMPLE: $ep->EvalString("[T,Y]=ode23t('func',[0 100],[1,1,1,1])");
$ep->PutArray($name, $dimlistref, $dataref);
This methods hands a multidimensional array to Matlab with the name $name. The dimensions are defined by the arrayref $dimlistref, the data is specified by the arrayref $dataref.
If $p is a pdl object, one can write "$ep->PutArray($name,[$p->dims],[$p->list]);";
$n = $ep->GetArray($name);
This method retrieves the matlab object $name as a multidimensional arrayref.
EXPORT
None by default.
BUGS
PutArray whirls around the dimensions. I did not find an elegant solution to this problem. For 2-d arrays, use the Matrix methods.
TODO
The -Array methods have to be corrected to correctly reflect the numbering of the dimensions
AUTHOR
O. Ebenhoeh, <oliver.ebenhoeh@rz.hu-berlin.de>
SEE ALSO
perl.