Max in bin using histc
Afficher commentaires plus anciens
I performed several tests to measure how y depends on x. I repeated the value of x in some of the tests. If x was repeated, the higher values of y are more reliable. Given a vector of x and y, I would like to find (a) the max value of y obtained for each value of x, i.e. selecting the max of the repeated tests plus any y value for which the value of x wasn't retested, and (b) all values of y from the repeated tests that were not the max value. I believe this can be done with a clever application of histc. Here is an example,
x = [ 219 292 292 365 365 365 402 438 438 511 ] ; % Independent variable with some repeats
y = [ 69.9 76.4 72.6 61.6 48.9 77.7 77.6 76 78.9 73.3 ] ; % Dependent variable
iMax = ?? ; % Index to max value of y obtained for each value of x; also include values of y for which x value wasn't retested
plot(x(iMax), y(iMax), 'b') ; hold on ;
iNotMax = ?? % For repeated tests, find index to all non-max values of y
plot(x(iNotMax), y(iNotMax), 'b*') ;
1 commentaire
K E
le 22 Juin 2012
Réponse acceptée
Plus de réponses (1)
the cyclist
le 22 Juin 2012
Here's one way:
x = [ 219 292 292 365 365 365 402 438 438 511 ];
y = [ 69.9 76.4 72.6 61.6 48.9 77.7 77.6 76 78.9 73.3 ];
z = sortrows([x; y]');
[~,indexToLastUniqueX] = unique(x,'last');
zUnique = z(indexToLastUniqueX,:)
1 commentaire
K E
le 26 Juin 2012
Catégories
En savoir plus sur Get Started with MATLAB dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!