Matlab' s documentation说:
[A1,...,Am] = cellfun(func,C1,...,Cn)
如果单元格数组中单元格的顺序实际上有意义,那么这不是问题吗?输出数组
A1,...,Am,
其中m
是函数func的输出数,包含函数调用的组合输出。第i次迭代对应于语法[A1(i),...,Am(i)] = func(C1{i},...,Cn{i})
。 cellfun函数不会按特定顺序执行函数func的调用。
答案 0 :(得分:4)
订单在A1(i) = func(C1{i})
中得到尊重。但是,该调用和赋值的相对顺序不一定是顺序的。也就是说,Matlab可以做到
A1(3) = func(C1{3});
A1(5) = func(C1{5});
A1(1) = func(C1{1});
% and so on until all indices in 1:length(C1) are covered
文档只是告诉您不要假设/依赖以线性顺序发生的调用,例如:调用I / O例程,引用全局/持久变量和其他此类设备。