我对参数感到困惑,在尝试使用它时,我一直被告知使用函数句柄,(我甚至不知道那是什么)?!
labelsAsChars = arrayfun(char,labels);
我想将Ints数组转换为Chars数组。 labelsAsChars
是我想要将它存储在char中的函数,它将Int转换为Char,即char(97)
返回'a'。标签是Ints的20乘20矩阵。
答案 0 :(得分:2)
arrayfun用于为数组的每个元素使用函数。基本上如果你有:
A = arrayfun(fun, S)
A是您正在分配值输出的数组,fun是您正在应用的函数,S是您正在应用该函数的数组。当它谈到函数句柄时,它指的是示例中的“fun”,它需要是一个有效的函数。在伪代码中,意思是这样的:
s = [1, 2, 3]
def add1(x)
return x+1;
end
a = arrayfun(add1, s);
puts a
输出看起来像[2,3,4]。
我在这里有一些额外的阅读材料,我发现它很有帮助:http://function.name/in/Matlab/arrayfun