PutFullMatrix

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

Резюме

Сигнатура метода IDL

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

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. Эти функции используют тип данных variant вместо safearray, который не поддерживает VBScript.

Примеры

свернуть все

Этот пример использует Визуальный клиент Basic®.NET, чтобы записать матрицу в базовое рабочее пространство сервера MATLAB.

type putfullmatrixbase.vb
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)

Этот пример использует Визуальный клиент Basic®.NET, чтобы записать матрицу в глобальную рабочую область сервера MATLAB.

type putfullmatrixglobal.vb
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)

Этот пример использует клиент VBA, чтобы записать матрицу в базовое рабочее пространство сервера MATLAB.

type putfullmatrixbase.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 

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

Этот пример использует клиент VBA, чтобы записать матрицу в глобальную рабочую область сервера MATLAB.

type putfullmatrixglobal.vba
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 
 
Set MatLab = CreateObject("matlab.application") 
x = MatLab.PutFullMatrix("X", "global", XReal, XImag) 
result = MatLab.Execute("whos global") 
MsgBox (result)

Представлено до R2006a