Main Content

PutFullMatrix

自动化服务器工作区中的矩阵

大纲

IDL 方法签名

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

Microsoft Visual Basic 客户端

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) 将矩阵存储到句柄 h 所连接服务器的指定 workspace 中,并将其指定给变量 varname。分别将 xrealximag 用于矩阵的实部和虚部。workspace 的值为 baseglobal

矩阵不能是标量或空数组,也不能大于两维。要使用更高维度的矩阵,请先将该矩阵重构为二维矩阵,再将其发送给 MATLAB® 服务器。然后,在从 MATLAB 收到矩阵之后,再将维度更改回来。

对于 VBScript 客户端,使用 GetWorkspaceDataPutWorkspaceData 函数向 MATLAB 工作区传递数值数据和从该工作区传出数值数据。这些函数使用 variant 数据类型代替 VBScript 不支持的 safearray

示例

全部展开

此示例使用 Visual 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)

此示例使用 Visual 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 之前推出