Find range between two array's indexes
Mostra commenti meno recenti
Hello,
I have two arrays of different sizes and I Would like to find certain range between them, where the start index is from one array and ends with another array. For example:
A = [4192 23330 23342 29974 49089 49093 49096 55753 57035 57039]
B = [22780 48556 56522]
The desired output would be
C = [4192 22780; 29974 48556 ; 49096 56522]
Note that A and B can change in size, but array B is always the end point value.
Thanks, Max
1 Commento
Should the example really be this? :
C = [4192 22780; 29974 48556 ; 55753 56522]
Or if not, please explain why 49096 is selected, and not 55753.
Risposta accettata
Più risposte (1)
Thorsten
il 20 Lug 2016
If you use that highest value that is still smaller than the corresponding B, you can write:
C = [A(arrayfun(@(i) find(A < B(i), 1, 'last'), 1:numel(B))); B]'
But this differs from your desired output. So what is the rule according to which you pick the values form A?
1 Commento
Max Bernstein
il 20 Lug 2016
Categorie
Scopri di più su Logical 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!