How do I pass extra known parameters to arrayfun?

조회 수: 6 (최근 30일)
cui,xingxing
cui,xingxing 2021년 8월 6일
편집: cui,xingxing 2021년 8월 6일
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]}

채택된 답변

cui,xingxing
cui,xingxing 2021년 8월 6일
편집: cui,xingxing 2021년 8월 6일
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]}

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Graphics Object Programming에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by