How do I pass extra known parameters to arrayfun?

7 visualizaciones (últimos 30 días)
cui,xingxing
cui,xingxing el 6 de Ag. de 2021
Editada: cui,xingxing el 6 de Ag. de 2021
For example, if I want to find the position in the corresponding array b from each element of array a, how should I write the code?
a = [1,2,3];
b = [2,1,1,3,1,2];
idx = arrayfun(@(x,b)find(x==b),a,b)
Error using arrayfun
All of the input arguments must be of the same size and shape.
Previous inputs had size 3 in dimension 2. Input #3 has size 6
The desired idx outcome is:{[2,3,5],[1,6],[4]}

Respuesta aceptada

cui,xingxing
cui,xingxing el 6 de Ag. de 2021
Editada: cui,xingxing el 6 de Ag. de 2021
I get the answer:
a = [1,2,3];
b = [2,1,1,3,1,2];
idx = arrayfun(@(x)find(x==b),a,'UniformOutput',false)
idx = 1×3 cell array
{[2 3 5]} {[1 6]} {[4]}

Más respuestas (0)

Categorías

Más información sobre Graphics Object Programming en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by