Shift elements in a 3D array
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi,
I have a 3D array. I would like to remove few elements (say, I want to remove all 120s in the 3D array). Once I remove them, I would like to add zeros at the end to maintain the same vector length.
Could anyone please suggest an option to do this?
Thank you so much
0 Commenti
Risposte (1)
Voss
il 3 Dic 2022
Here's an example with a 2x3x2 array, removing all the 9s and appending 0s:
data = reshape(1:12,[2 3 2])
siz = size(data);
idx = data == 9;
data(idx) = [];
data(end+1:end+nnz(idx)) = 0;
data = reshape(data,siz)
Notice the 10, 11, 12 are now in different locations. Is that what you want?
0 Commenti
Vedere anche
Categorie
Scopri di più su Logical 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!