我有以下功能:
function x = dataParser(y)
%// Importing list of places
places = textread('UKPlaceNames.txt' ,'%s');
%// Picking two places
place = char(places(y)); %// Converting them to an array of chars
placeInt = place - 'A' + 1;
x = placeInt;
end
在另一个函数中,我创建:
myVector = 1:6
然后致电
myVectorB = arrayfun(dataParser, myVector)
但是,MATLAB会抛出错误:
place = char(places(y));
说明参数不足,
places = textread('test.txt' ,'%s');
我对错误的位置感到有点困惑,因为函数需要一个参数并且我提供它...
谢谢!
答案 0 :(得分:0)
您应该在主脚本/函数中执行以下操作:
myVectorB = arrayfun(@dataParser, myVector)
请注意@
前面的dataParser
:这会将dataParser
的函数句柄传递给arrayfun
,而不是评估函数dataParser()
并传递结果为arrayfun
。