Assign values of array to indices of another array
13 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello!
I'm not really sure how to word my question (hence the confusing title!). I do have to arrays:
A = [1,2;3,4];
B = [11;22;33;44];
Now I would like to arrange the elements of B in the order of array A. The output should then be like that:
B(A) = [11,22;33,44]
But now I wanna leave some places of the array 0. So at position A(1,1) where there is a zero shouldn't be a vallue of B asignd to (B(1,1) therefore should stay 0 as well).
A = [0,2;3;4];
B(A) = [0,22;33;44]
Thank you!
1 Commento
James Tursa
il 16 Ago 2022
Need more details. Is the indexing in A always in that order, except for some of the spots might be 0? Or could the indexing be in a different order such as A = [2,0;4,3]?
Risposta accettata
Chunru
il 16 Ago 2022
A = [1; 2; 3; 4];
B = [11; 22; 33; 44];
B(A)
A = [0; 2; 3; 4];
C = zeros(size(A));
C(A>0) = B(A(A>0))
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!