Чтобы вызвать функцию с набором нескалярных аргументов, а не с каждым скалярным элементом массива, как это делает arrayfun
, используйте вместо этого cellfun
.
Чтобы извлечь каждую строку из матрицы в ячейки, которые cellfun
может передать в качестве аргументов вашей функции, используйте num2cell
вдоль измерения 2
; i.e.:
y = cellfun(@some_black_box_function_that_takes_only_one_row_at_once, num2cell(x,2));
Мне неизвестен какой-либо смысл, в котором это фактически облегчает распараллеливание, как ваше заявленное намерение, но поскольку код в вопросе не является удовлетворительным, и решение должно принять запрошенную форму, именно так вы и сделаете это .