Выполнение функции 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 Objectresult = Feval(h,'functionName',numout,arg1,arg2,...)
result = Feval(h,'functionName',numout,arg1,arg2,...) выполняет функцию MATLAB ®functionName на сервере автоматизации, подключенном к h. Имя функции зависит от регистра. Если functionName не имеет входных аргументов, рассмотрите возможность вызова Execute вместо этого.
Функции COM доступны только в системах Microsoft ® Windows ®.
Укажите количество выходов, возвращаемых функцией в 1около-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