@(x) myfun(x, F_index)
在MATLAB中是什么意思?它叫什么并返回?
例如,在这个应用程序中:
fmincon(@(x) myfun(x, F_index), ...)
请提供更多的例子,并在可能的情况下进行解释。
这是一个匿名函数,它是一个不存储在程序文件中的函数,但与数据类型为function_handle的变量关联。匿名函数可以接受输入并返回输出,就像标准函数一样。但是,它们只能包含一个可执行语句。例如,创建一个匿名函数的句柄来查找数字的平方:
function out=powerplus1(x,dat)
out=x^2+dat;
end
在另一个文件中写入
dat=1;
sqr = @(x) powerplus1(x,dat);
a = sqrplusone(5)
那么a
将是26。
变量sqrplusone
是一个函数句柄。@运算符创建句柄,紧接在@运算符后面的括号()包含函数输入参数。这个匿名函数接受一个输入x,并隐式返回一个输出,一个与x大小相同的数组,包含平方加一的值。通过将值传递给函数句柄,找到一个特定值(5)的平方加一,就像将输入参数传递给标准函数一样。
a = sqrplusone(5)
a =
26