Assigning element of another array into another array based on index

10 次查看(过去 30 天)
I've stored the index of the elements of interest in an array, B, and would like to use the values in B to obtain the values of the elements in another array, A, at positions indicated in B.
e.g.
A = [5 4 4 5 6 6 8 5 8 5 14 11 3 2 4 5];
B = [1 2 4 8 10 12 16];
for i = 1: length(B)
if (A(B(i))== 5)
idx = [idx,i];
end
end
form my understanding, i should be able to get idx = 1 4 8 10 16 However, what i am getting is idx = 1 5 10 15
I'm not sure what is the problem as the logic of the code seems right to me.
can i also check what is the difference between array and matrix?

采纳的回答

Matt J
Matt J 2014-10-29
编辑:Matt J 2014-10-29
You don't really need a loop at all and can do the whole thing in one line,
idx=B(A(B)==5)
  4 个评论
Matt J
Matt J 2014-10-29
编辑:Matt J 2014-10-29
I never proposed anything that looks like B(...)== 5. The expression I wrote is B( A(B)==5 ).
I tested my proposal on your example data and it worked fine for me. So, whatever's causing your error, it's coming from something unposted.
Mich
Mich 2014-10-29
编辑:Mich 2014-10-29
hey i apologise for my mistake. my original code was way more complex and i simplified it to this, but the same variables were used, thus resulting in my initial confusion when i tried out your suggestion. i tried your suggestion again and it works! thanks alot!!

请先登录,再进行评论。

更多回答(1 个)

vimala victor
vimala victor 2018-5-16
hi, i have one array RL=[1 13 11 14 25 37 53 29 75 81 66 10 98 15 33 44 77 88 20 49 1 3 4 2 5 1 2 2 3 4 2 1 5 2 3 1 2 4 3 3]; That is first row defines the index values and second row is the values of corresponding index.(Eg.for index value 1 the value is 1,index value 13 the value is 3...) and IM= 44 14 98 88 20 13 11 37 77 25 81 20; How can i extract the corresponding IM indexing Values from RL using indexing. please ,can anyone help me to clarify my doubt with how to define in matlab coding

类别

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