有人可以在matlab中给我一个arrayfun的例子

时间:2013-12-09 18:01:13

标签: arrays matlab function

我对参数感到困惑,在尝试使用它时,我一直被告知使用函数句柄,(我甚至不知道那是什么)?!

labelsAsChars = arrayfun(char,labels);

我想将Ints数组转换为Chars数组。 labelsAsChars是我想要将它存储在char中的函数,它将Int转换为Char,即char(97)返回'a'。标签是Ints的20乘20矩阵。

1 个答案:

答案 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

相关问题