## Tag: Math

## Return the bigger values of 2 arrays

I came up with a similar question (<Return #elements of an array greater than a certain value>) before, and today this one “What’s the efficient way of comparing 2 arrays and returning an array with the bigger values?” was posted in gsdzone.net forum.

This is not a complex problem and many responses were given. But all of them suggested using a *for loop* to compare the elements one by one. Most of the *comparison *and *numeric* nodes in LabVIEW are polymorphic and we should take use of them efficiently. I tried the following code and it works π

So a single *Max & Min* node can do the job.

A thought that may or may not be helpful (or even correct!) in optimization: **Always try to do it with polymorphic nodes when you did it with a loop; always try to do it in one loop when you did it with several loops.**

Thanks to rogel who brought up this problem.

## Return #elements of an array greater than a certain value

Some one asked the titled question in a forum (link), and many answers were given. This qustion is not hard and may not bother you at all. But the conclusion that a loop was neccesary is incorrect.

Above is an answer given by *bincker*, sorry for the watermark. The idea was to initialize a number and use the shift register as a counter. Add by one when the condition is fulfilled. Three conditions are listed in this case.

Or, we can do it this way (by me):

I don’t know what happened in the “greater than” node, but the conclusion is we do not really need a loop to do that. There might be a traversal as well but the whole calculate is much simpler. And the bottom line is, thanks to the polymorphism of LabVIEW node, we can connect array and a single data to some nodes and do the calculations in one iteration.

Thanks for *sx056* who brought up this question and *bincker* who gave me a hint.