Execute

Выполните команду MATLAB в Сервере автоматизации

Резюме

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

BSTR Execute([in] BSTR command)

Microsoft Visual Basic Client

Execute(command As String) As String

Клиент MATLAB

result = Execute(h,'command')

Описание

Execute функция выполняет оператор MATLAB®, заданный command в Сервере автоматизации MATLAB, присоединенном к h. Чтобы вызвать функцию с аргументами, используйте Feval.

Сервер возвращает выходной параметр команды и любых предупреждающих сообщений MATLAB или сообщений об ошибке в result. Если вы отключаете команду MATLAB с точкой с запятой и нет никаких предупреждений или сообщений об ошибке, result может быть пустым.

Функции COM доступны в системах Microsoft® Windows® только.

Примеры

свернуть все

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

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

В этом примере показано, как выполнить команду на матрице MATLAB и возвратить результат в клиент VBA. Пример создает матрицу в клиенте и изменяет содержимое в рабочем пространстве MATLAB.

type comexecute.vba
Dim Matlab As Object 
Dim MATLAB_version As String 
Dim data(6) As Double 
Set Matlab = CreateObject("matlab.application") 
For i = 0 To 6 
    data(i) = i * 15 
Next i 
x = Matlab.PutWorkspaceData("A", "base", data) 
Matlab.Execute ("A = A.*2;") 
y = Matlab.GetWorkspaceData("A", "base", B) 
MsgBox ("Doubled second value of A = " & B(0, 1))

Советы

  • Отображать вывод от Execute в клиентском окне задайте выходную переменную, result.

  • Если существует ошибка, Execute функция возвращает сообщение об ошибке MATLAB с символами ??? предварительно ожидаемый к тексту.

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