Выполните функцию 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-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); |
Ссылка на переменную сервера | Чтобы ссылаться на переменную, определенную в сервере, задайте имя переменной, за которой следует значение equals ( PutWorkspaceData(h,'x','base',-pi:0.01:pi); a = Feval(h,'sin',1,'x='); MATLAB не выполняет переназначение переменной сервера. |
Чтобы отобразить выход из Feval в окне клиента присвойте возврат значение.
Execute | GetCharArray | GetFullMatrix | PutCharArray | PutFullMatrix