Выполните команду MATLAB в Сервере автоматизации
BSTR Execute([in] BSTR command)
Execute(command As String) As String
result = Execute(h,'command')
Функция Execute
выполняет оператор MATLAB®, заданный command
в Сервере автоматизации MATLAB, присоединенном, чтобы обработать h
.
Сервер возвращает вывод в команду в result
. result
также содержит любые предупреждающие сообщения MATLAB или сообщения об ошибке.
Если вы отключаете команду MATLAB с точкой с запятой и нет никаких предупреждений или сообщений об ошибке, result
может быть пустым.
Функции COM доступны в системах Microsoft® Windows® только.
Создайте 6 6 матрица в сервере MATLAB, удалите строки 4-6 и возвратите результаты в клиент. Чтобы запустить примеры в продуктах, которые выполняют код VBA, смотрите Советы.
Dim Matlab As Object Dim data(6) As Double Dim B As Object B = Nothing Matlab = CreateObject("matlab.application") For i = 0 To 6 data(i) = i * 15 Next i Matlab.PutWorkspaceData("A", "base", data) Matlab.Execute("A = A.*2;") Matlab.GetWorkspaceData("A", "base", B) MsgBox("Doubled second value of A = " & B(0, 1))
Чтобы отобразить вывод от Execute
в клиентском окне, задайте выходную переменную, result
.
Если существует ошибка, функция Execute
возвращает сообщение об ошибке MATLAB с символами ???
, предварительно ожидаемый к тексту.
Чтобы запустить примеры в продуктах Microsoft Office, которые выполняют код VBA, замените оператор:
MatLab = CreateObject("matlab.application")
с:
Set MatLab = CreateObject("matlab.application")
Если вам нужно больше информации, то обратитесь к своей документации по продукту VBA.