Contents

PutFullMatrix

Matrix in Automation server workspace

Synopsis

IDL Method Signature

PutFullMatrix([in] BSTR varname, [in] BSTR workspace,
[in] SAFEARRAY(double) xreal, [in] SAFEARRAY(double) ximag)

Microsoft Visual Basic Client

PutFullMatrix([in] varname As String, [in] workspace As String,
[in] xreal As Double, [in] ximag As Double)

MATLAB Client

PutFullMatrix(h,'varname','workspace',xreal,ximag)

Description

PutFullMatrix(h,'varname','workspace',xreal,ximag) stores a matrix in the specified workspace of the server attached to handle h and assigns it to variable varname. Use xreal and ximag for the real and imaginary parts of the matrix. The matrix cannot be a scalar, an empty array, or have more than two dimensions. The values for workspace are base or global.

For VBScript clients, use the GetWorkspaceData and PutWorkspaceData functions to pass numeric data to and from the MATLAB® workspace. These functions use the variant data type instead of safearray, which VBScript does not support.

Examples

This example uses a Visual Basic® .NET client to write a matrix to the base workspace of the server:

Dim MatLab As Object
Dim XReal(4, 4) As Double
Dim XImag(4, 4) As Double
Dim ZReal(4, 4) As Double
Dim ZImag(4, 4) As Double
Dim i, j As Integer

For i = 0 To 4
   For j = 0 To 4
   XReal(i, j) = Rnd() * 6
   XImag(i, j) = 0
   Next j
Next i

Matlab = CreateObject("matlab.application")
MatLab.PutFullMatrix("M","base",XReal,XImag)
MatLab.GetFullMatrix("M","base",ZReal,ZImag)

Use a Visual Basic .NET client to write a matrix to the global workspace of the server:

Dim MatLab As Object
Dim XReal(1,2) As Double
Dim XImag(1,2) As Double
Dim result As String
Dim i,j As Integer

For i = 0 To 1
	For j = 0 To 2
		XReal(i,j) = (j * 2 + 1) + i
		XImag(i,j) = 1
	Next j
Next i

Matlab = CreateObject("matlab.application")
MatLab.PutFullMatrix("X","global",XReal,XImag)
result = Matlab.Execute("whos global")
MsgBox(result)

Was this topic helpful?