MATLAB Answers

0

How do I find the lowest values in one array that are greater than each value from another array?

Asked by Liam O'Reilly on 30 Apr 2019
Latest activity Answered by Naman Bhaia on 3 May 2019
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!

  0 Comments

Sign in to comment.

Tags

Products


Release

R2019a

1 Answer

Answer by Naman Bhaia on 3 May 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

  0 Comments

Sign in to comment.