Матрица в рабочей области Сервера автоматизации
PutFullMatrix([in] BSTR varname, [in] BSTR workspace,
[in] SAFEARRAY(double) xreal, [in] SAFEARRAY(double) ximag)
PutFullMatrix([in] varname As String, [in] workspace As String,
[in] xreal As Double, [in] ximag As Double)
PutFullMatrix (h, 'varname', '
workspace
', xreal, ximag)
хранит матрицу в заданном PutFullMatrix(h,'varname','workspace',xreal,ximag)
workspace
сервера, присоединенного, чтобы обработать h
, и присваивает его переменному varname
. Используйте xreal
и ximag
для действительных и мнимых частей матрицы. Значениями для workspace
является base
или global
.
Матрица не может быть скаляром, пустым массивом, или иметь больше чем две размерности. Чтобы использовать выше размерные матрицы, измените форму матрицы к 2D матрице прежде, чем отправить его в сервер MATLAB®. Затем возвратите размерности после получения его от MATLAB.
Для клиентов VBScript используйте GetWorkspaceData
и функции PutWorkspaceData
, чтобы передать числовые данные и от MATLAB workspace. Эти функции используют тип данных variant
вместо safearray
, который не поддерживает VBScript.
Этот пример использует Визуальный клиент Basic®.NET, чтобы записать матрицу в базовое рабочее пространство сервера. Чтобы запустить примеры в продуктах, которые выполняют код VBA, смотрите Советы.
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)
Используйте клиент Visual Basic.NET, чтобы записать матрицу в глобальную рабочую область сервера:
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)
Чтобы запустить примеры в Продуктах Office Microsoft®, которые выполняют код VBA, замените оператор:
MatLab = CreateObject("matlab.application")
с:
Set MatLab = CreateObject("matlab.application")
Если вам нужно больше информации, то обратитесь к своей документации по продукту VBA.