Выполните функцию 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 | PutFullMatrix | GetFullMatrix | PutCharArray | GetCharArray