How to set ranges for 2 different variables in the same loop?

4 views (last 30 days)
I have a set of x and y values and I need to isolate and substitute the values which are within the range to a formula that I've already typed out, but it keeps coming up with the "Operands to the || and && operators must be convertible to logical scalar values."
This is the loop section of code =
while ((x < 40) & (x > 15) && (y < 25) & (y > 5))
deltaLdeltax = ((-(40 - x))/sqrt(((40-x)^2)+((y-10)^2)))+((x-15)/sqrt(((x-15)^2)+((y-25)^2)))+((x-10)/sqrt(((x-10)^2)+((y-5)^2)))
deltaLdeltay = ((y-10)/sqrt(((40-x)^2)+((y-10)^2)))+((-(25-y))/sqrt(((x-15)^2)+((y-25)^2)))+((y-5)/sqrt(((x-10)^2)+((y-5)^2)))
end

Accepted Answer

Alex Mcaulley
Alex Mcaulley on 20 May 2019
Edited: Alex Mcaulley on 20 May 2019
You don't need a loop:
x = randi(100,1,100);
y = randi(100,1,100);
idx = ((x < 40) & (x > 15) & (y < 25) & (y > 5));
x = x(idx);
y = y(idx);
deltaLdeltax = ((-(40 - x))./sqrt(((40-x).^2)+((y-10).^2)))+((x-15)./sqrt(((x-15).^2)+((y-25).^2)))+((x-10)./sqrt(((x-10).^2)+((y-5).^2)));
deltaLdeltay = ((y-10)./sqrt(((40-x).^2)+((y-10).^2)))+((-(25-y))./sqrt(((x-15).^2)+((y-25).^2)))+((y-5)./sqrt(((x-10).^2)+((y-5).^2)));
  4 Comments
Siobhan Beatty
Siobhan Beatty on 20 May 2019
Thanks for your help! Sorry I'm not so confident with my matlab skills so I'm not sure what the x = randi(100,1,100); and the y = randi(100,1,100) is supposed to do in this section. What does this do?
Alex Mcaulley
Alex Mcaulley on 20 May 2019
It is just an example for x and y (row vectors of random numbers between 1 and 100). You have to use your x and y variables.

Sign in to comment.

More Answers (1)

KSSV
KSSV on 20 May 2019
while ((x < 40) && (x > 15) && (y < 25) && (y > 5))
deltaLdeltax = ((-(40 - x))/sqrt(((40-x)^2)+((y-10)^2)))+((x-15)/sqrt(((x-15)^2)+((y-25)^2)))+((x-10)/sqrt(((x-10)^2)+((y-5)^2)));
deltaLdeltay = ((y-10)/sqrt(((40-x)^2)+((y-10)^2)))+((-(25-y))/sqrt(((x-15)^2)+((y-25)^2)))+((y-5)/sqrt(((x-10)^2)+((y-5)^2)));
end

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!