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