MATLAB Answers

How to avoid loops

5 views (last 30 days)
Bruce
Bruce on 22 Feb 2018
Commented: Star Strider on 22 Feb 2018
I have an array (3xN, day, longitude, temperature), a vector (10 elements long, TestLongitudes), and a longitude tolerance. I'm attempting to, for each day find the longitudes that are with tolerance of any of the TestLongitudes, and return the mean of the temperatures that meet the criteria. I can write a lot of loops to do the comparisons, but I wonder if there's a better way...
Thanks! Bruce

  0 Comments

Sign in to comment.

Answers (1)

Star Strider
Star Strider on 22 Feb 2018
With respect to comparing the longitudes, the ismembertol function comes quickly to mind. You will have to experiment with it and your data to determine if it’s an appropriate option.
You won’t be avoiding loops, just hiding them. Many of these functions have implicit loops within them.

  2 Comments

Bruce
Bruce on 22 Feb 2018
You are, of course, correct about the loops. My assumption is that Mathworks can do it more efficiently than I can :-).
I'll take a look at ismembertol to see if it'll do what I want. Thanks!
Star Strider
Star Strider on 22 Feb 2018
It can. The functions are optimised, and I believe in many functions, compiled.
My pleasure!

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!