Changing Indexing Order in matrix raws

4 次查看(过去 30 天)
Good day, everyone! I have the following array(1) = [0 0 0 0 0 0 0 0 0 1 2 3 4 5] (14 elements in total, for example) and I can derrive respective indexes of the elements in it. The other array(2) = [12 11 14 5 1] contains a set of indexes for non-zero elements in array(1) (mapping one-to-one - so 1 should have index 12, 2 - index 11, etc.). How can I sort array(1) with respect to indexes in array(2) with no use of loop structure? (I solved it with loop) .

采纳的回答

KSSV
KSSV 2019-5-1
a1 = [0 0 0 0 0 0 0 0 0 1 2 3 4 5] ;
a2 = [12 11 14 5 1] ;
a3 = zeros(size(a1)) ;
a3(a2) = a1(a1~=0)
  1 个评论
ahmad tourei
ahmad tourei 2020-5-5
Thanks a lot. after searching for 2 deays, i found my answer for labeling the rows and colomns of matrices by reading your suggest.

请先登录,再进行评论。

更多回答(2 个)

madhan ravi
madhan ravi 2019-5-1
array1(array1~=0)=array2

Jos (10584)
Jos (10584) 2019-5-1
Your question is a little confusing, but here is my take on it:
A1 = [0 0 0 0 0 0 0 0 0 1 2 3 4 5]
A2 = [12 11 14 5 1]
out([numel(A1) A2]) = [0 A1(A1~=0)]
% 5 0 0 0 4 0 0 0 0 0 2 1 0 3

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by