Выполните команду 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.