Matrix - Maple Help

Online Help

All Products    Maple    MapleSim


Matrix Definitions for the Matlab Package

 

Calling Sequence

Description

Examples

Calling Sequence

function(M, ...)

Matlab[function](M, ...)

Description

• 

A MatlabMatrix is a matrix defined in MATLAB® memory space. In Maple, the matrix is always named as a string, with double quotes. For example, Matlab[inv]("M") computes the inverse of the variable, "M", which is defined in MATLAB®. If a variable M is defined in Maple, it will be unaffected by, and have no effect on the stated call.  The two calls, Matlab[inv](M) and Matlab[inv]("M") are very different.

• 

A MapleMatrix is any Maple expression that is equivalent to a matrix. For example Array(1..2,[1,2]) is equivalent to [1,2], or Vector([1,2]). A MapleMatrix can be an rtable (Array, Matrix or Vector), a table, or a constant (numeric or complex numeric or a symbolic constant such as Pi or infinity). All elements of the MapleMatrix must be of type constant.

• 

MATLAB® has access to variables defined in its memory space, and Maple has access to variables defined in its memory space.  Variables are not automatically  shared between memory spaces; they must be explicitly set or read.

• 

For example, if a user starts Maple and defines a matrix "M" by typing M := Matrix([[1,2],[3,4]]); the memory space looks like this.

  Maple Memory

+--------------+

| M            |

+--------------+

  

If that user then opens a link to MATLAB® and sets a variable, "X", in MATLAB® to the same value as "M" (using the command Matlab[setvar]("X", M);), the memory is as follows.

  

 

  Maple Memory          MATLAB® Memory

+--------------+      +---------------+

| M            |      | X             |

+--------------+      +---------------+

  

The variable M is a MapleMatrix, and "X" is a MatlabMatrix. The command Matlab[inv](M) copies the matrix M to MATLAB® memory space, defining a temporary variable result_for_maple in the process. MATLAB® computes the inverse of result_for_maple and sends the result back to Maple.

  

The command Matlab[inv]("X") computes the inverse of "X" and sends the result to Maple.

  

It is possible to define the name "M" in both Maple and MATLAB®. After the command Matlab[setvar]("M", Pi), the memory spaces would be as follows.

  

 

  Maple Memory          MATLAB® Memory

+--------------+      +---------------+

| M            |      | X, M          |

+--------------+      +---------------+

  

Consider the two commands Matlab[det](M), and Matlab[det]("M"). The subtle difference between these commands makes a significant difference in their results. The first command returns the determinant of the 2x2 matrix, M=[[1,2],[3,4]], which is -2. The second command returns the determinant of the 1x1 matrix, "M"=[Pi], which is Pi.

Examples

MMatrix1,2,3,4

M1234

(1)

withMatlab:

MatlabsetvarX,M

MatlabsetvarM,π

MatlabdetM

-2

MatlabdetM

3.14159265400000010

See Also

Matlab

Matlab[evalM]

Matlab[getvar]

Matlab[setvar]