Трудности перевода Matlab на C - PullRequest
1 голос
/ 02 сентября 2011

У меня есть некоторые функции Matlab, которые мне нужно перевести на C, но я не понимаю синтаксис или поведение, которое нужно создать.

У меня есть этот вызов и следующая реализация:

{
...
[vSolution,sReturnVal] = Func1(10, @(X) Func2(X, hour_of_the_day));
...
}

function [SolutionVector,ReturnValue] = Func1(IterationsTermination, FuncToUse)

function [ReturnValue] = Func2(TestedSolution, shour_of_day)

Я думал, что '@ (x)' был там, чтобы определить анонимную функцию, обладающую параметром X (простой указатель на функцию), но здесь используется с именованной функцией с параметрами, и значение X определяют в пределах список параметров.

Как я могу это понять и перевести на С?

1 Ответ

1 голос
/ 02 сентября 2011

Это - это , определяющее анонимную функцию. Но эта анонимная функция вызывает Func2. Анонимная функция эквивалентна:

function Y = myFunc(X)
Y = Func2(X, hour_of_the_day);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...