How to slice a two-dimensional array to get a one-dimensional array
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi! This seems to be a simple question but I couldn't find its answer after some searching. Let
a = rand(5, 4); i = [2 4 3]; j = [1 2 3];
How do I write a slicing expression to yield the one-dimensional array [a(2, 1), a(4, 2), a(3, 3)]? The expression a(i, j) yields a 3x3 matrix, which is not what I wanted.
Thanks!
0 Commenti
Risposte (2)
drummer
il 2 Ott 2020
Well, this is a specific suggestion for this case.
You might implement some sort of loop for bigger cases.
a = rand(5, 4)
i = [2 4 3];
j = [1 2 3];
b = [a(i(1), j(1)) a(i(2), j(2)) a(i(3), j(3))]
So you're basically creating a array b with size (1, 3), calling each element from a by passing the indexes of i and j.
If that works, please accept the answer =)
Cheers.
0 Commenti
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!