Выполните функцию MATLAB в Сервере автоматизации
HRESULT Feval([in] BSTR functionname, [in] long nargout, [out] VARIANT* result, [in, optional] VARIANT arg1, arg2, ...)
Feval(String functionname, long numout, arg1, arg2, ...) As Object
result = Feval(h,'functionName',numout,arg1,arg2,...)
result = Feval(h,'functionName',numout,arg1,arg2,...)
выполняет функцию MATLAB® functionName
в Сервере автоматизации, присоединенном к h
. Имя функции является чувствительным к регистру. Если functionName
не имеет входных параметров, считайте вызов Execute
вместо этого.
Функции COM доступны в системах Microsoft® Windows® только.
Укажите на количество выходных параметров, возвращенных функцией в 1
-by-1
массив double
, numout
. Сервер возвращает выходной параметр функции в массиве ячеек, result
.
Можно задать целых 32 входных параметра, которые будут переданы функции. Эти аргументы следуют за numout
в списке аргументов Feval
. Следующая таблица показывает способы передать аргумент.
Передача механизма | Описание |
---|---|
Передайте само значение | Чтобы передать любое числовое или символьное значение, задайте значение в списке аргументов a = Feval(h,'sin',1,-pi:0.01:pi); |
Передайте клиентскую переменную | Чтобы передать аргумент, присвоенный переменной в клиенте, задайте одно только имя переменной: x = -pi:0.01:pi;
a = Feval(h,'sin',1,x); |
Сошлитесь на серверную переменную | Чтобы сослаться на переменную, заданную в сервере, укажите, что имя переменной, сопровождаемое, равняется ( PutWorkspaceData(h,'x','base',-pi:0.01:pi); a = Feval(h,'sin',1,'x='); MATLAB не повторно присваивает серверную переменную. |
Чтобы отобразить вывод от Feval
в клиентском окне, присвойте возвращаемое значение.
Execute
| GetCharArray
| GetFullMatrix
| PutCharArray
| PutFullMatrix