exponenta event banner

GetFullMatrix

Матрица из рабочей области сервера автоматизации

Резюме

Подпись метода IDL

GetFullMatrix([in] BSTR varname, [in] BSTR workspace,
    [in, out] SAFEARRAY(double) *pr, [in, out] SAFEARRAY(double) *pi)

Клиент Microsoft Visual Basic

GetFullMatrix(varname As String, workspace As String,
    [out] XReal As Double, [out] XImag As Double

Клиент MATLAB

[xreal ximag] = GetFullMatrix(h,'varname','workspace',zreal,zimag)

Описание

[xreal ximag] = GetFullMatrix(h,'varname','workspace',zreal,zimag) получает матрицу, сохраненную в переменной varname из указанного workspace сервера, подключенного к дескриптору h. Функция возвращает действительную часть в xreal и мнимая часть в ximag. Значения для workspace являются base или global.

zreal и zimag аргументы - матрицы того же размера, что и вещественная и мнимая матрицы (xreal и ximag) возвращено с сервера. zreal и zimag матрицы обычно устанавливаются равными нулю.

Использовать GetFullMatrix для матриц 2-D со значениями типа double только. Использовать GetVariable или GetWorkspaceData для других типов. Для использования матриц с более высокой размерностью измените форму матрицы 2-D после ее получения из MATLAB ®.

Для клиентов VASEcript используйте GetWorkspaceData и PutWorkspaceData для передачи числовых данных в рабочую область MATLAB и из нее. Эти функции используют variant вместо типа данных safearray тип данных, используемый GetFullMatrix и PutFullMatrix. VASEcript не поддерживает safearray.

Примеры

развернуть все

В этом примере показано, как считывать сложную двойную матрицу с сервера MATLAB Automation.

type getfullmatrix.vba
Dim MatLab As Object
Dim Result As String
Dim XReal(4, 4) As Double
Dim XImag(4, 4) As Double
Dim i, j As Integer

Set MatLab = CreateObject("matlab.application")
Result = MatLab.Execute("M = rand(5);")
MsgBox("In MATLAB, type" & vbCrLf & "M(3,4)")
x = MatLab.GetFullMatrix("M", "base", XReal, XImag)
' Display element (3,4). The array in VBA
' is 0-based.
i = 2
j = 3
MsgBox("XReal(" & i + 1 & "," & j + 1 & ")" & _
    " = " & XReal(i, j))

В этом примере показано, как считывать сложную двойную матрицу с сервера MATLAB Automation.

type getfullmatrix.vb
Dim MatLab As Object
Dim Result As String
Dim XReal(4, 4) As Double
Dim XImag(4, 4) As Double
Dim i, j As Integer

MatLab = CreateObject("matlab.application")
Result = MatLab.Execute("M = rand(5);")
MsgBox("In MATLAB, type" & vbCrLf & "M(3,4)")
MatLab.GetFullMatrix("M", "base", XReal, XImag)
' Display element (3,4). The array in VB .NET
' is 0-based.
i = 2
j = 3
MsgBox("XReal(" & i + 1 & "," & j + 1 & ")" & _
    " = " & XReal(i, j))
Представлен до R2006a