How do I find the lowest values in one array that are greater than each value from another array?
Afficher commentaires plus anciens
I've got two arrays, for example:
x=[5 16 27]';
y=[1 3 7 8 9 10 12 13 15 17 21 24 28 31 54]';
I want to create a variable z that returns the lowest values in y that are greater than each of the values in x. In this example z should return 7, 17, and 28.
I've tried a comnbination of min and > but can't make it work.
Thanks!
Réponses (1)
Naman Bhaia
le 3 Mai 2019
Hello Liam,
Can you try if the following code helps with the problem you have?
z=zeros(1,0); %defining an array z to store output in
for i=1:3 %depends on size of array x
t=y(y>x(i)); %this will store all elements in t that are greater than x(i)
z(end+1)=t(1); %this will extract the first element of t which is also the smallest (since y was in ascending order)
end
Catégories
En savoir plus sur Aerospace Blockset dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!