How can i delete max values for each 5 rows in vector
Mostra commenti meno recenti
i have this vector A= 1 14 4 23 3 8 9 12 4 5 2 4 19 20 22
A=A'
The result will be R= 1 14 4 3 8 9 4 5 2 4 19 20
Risposta accettata
Più risposte (1)
Davide Masiello
il 29 Dic 2022
Modificato: Davide Masiello
il 29 Dic 2022
The following code will apply to any lenght of A and any length N of window from which to delete the maximum, provided that length(A)/N is an integer.
A = [1 14 4 23 3 8 9 12 4 5 2 4 19 20 22];
R = rmvMaxEveryN(A,5)
function out = rmvMaxEveryN(array,N)
[~,idx] = max(reshape(array,[N,length(array)/N]),[],1);
idx = idx+(0:N:length(array)-N);
array(idx) = [];
out = array;
end
3 Commenti
abdullah al-dulaimi
il 29 Dic 2022
abdullah al-dulaimi
il 29 Dic 2022
Davide Masiello
il 29 Dic 2022
Sorry I realised later there was a mistake and adjusted my answer.
Categorie
Scopri di più su Creating and Concatenating Matrices in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!