Матрица из рабочей области Сервера автоматизации
GetFullMatrix([in] BSTR varname, [in] BSTR workspace,
[in, out] SAFEARRAY(double) *pr, [in, out] SAFEARRAY(double) *pi)
GetFullMatrix(varname As String, workspace As String,
[out] XReal As Double, [out] XImag As Double
[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 для 2D матриц со значениями типа double только. Используйте GetVariable или GetWorkspaceData для других типов. Чтобы использовать выше размерные матрицы, измените форму 2D матрицы после получения его от MATLAB®.
Для клиентов VBScript используйте GetWorkspaceData и функции PutWorkspaceData, чтобы передать числовые данные и от MATLAB workspace. Эти функции используют тип данных variant вместо типа данных safearray, используемого GetFullMatrix и PutFullMatrix. VBScript не поддерживает safearray.
Этот пример использует Визуальный клиент Basic®.NET, чтобы считать данные из Сервера автоматизации MATLAB. Чтобы запустить примеры в продуктах, которые выполняют код VBA, смотрите Советы.
Создайте приложение Visual Basic. К потоку управления между MATLAB и приложением, используйте команду MsgBox.
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)
i = 2 %0-based array
j = 3
MsgBox("XReal(" & i + 1 & "," & j + 1 & ")" & _
" = " & XReal(i, j))Откройте окно MATLAB и тип:
M(3,4)
Чтобы закрыть и отключить MATLAB, нажать ОК.
Чтобы запустить примеры в Продуктах Office Microsoft®, которые выполняют код VBA, замените оператор:
MatLab = CreateObject("matlab.application")с:
Set MatLab = CreateObject("matlab.application")
Если вам нужно больше информации, то обратитесь к своей документации по продукту VBA.