cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

find last value in a vector greater than 0

SOLVED
Participant

find last value in a vector greater than 0

Hello,

 

I have to find the last value from a vector which is bigger from 0, as in the attached example. How can it be determined?

 

Thank you,

Otilia

1 ACCEPTED SOLUTION

Accepted Solutions

Re: find last value in a vector greater than 0

There are many ways to skin a cat.

Here are a few alternatives but I'd stay with Luc's approach, maybe adding some error check as shown in variant 3.

Variant 4 is a classic programming approach.

B.png

5 REPLIES 5
Highlighted

Re: find last value in a vector greater than 0

Easy:

LM_20190228_LastPositive.png

Success!

Luc

Re: find last value in a vector greater than 0

There are many ways to skin a cat.

Here are a few alternatives but I'd stay with Luc's approach, maybe adding some error check as shown in variant 3.

Variant 4 is a classic programming approach.

B.png

Re: find last value in a vector greater than 0

My implementation gives an error message when there is no positive element in V. And the error message will be at least somewhat to the point.

Your alternatives (LastPositive2, 3 and 4) will fail when ORIGIN is other than 0...

 

Luc

Re: find last value in a vector greater than 0

Correct, but you would simply have to replace "0" by "ORIGIN" to make the calculations ORIGIN-aware. But as already written above I'd prefer your solution anyway as its the shortest and most streamline.

I'd just rather prefer an error handling I can control rather than having the calculations fail with an error thrown by the built-in command.

It depends on how you would use the functions if  a custom made error message created with the error command is preferable or if the function should still return a well defined result like NaN in case of an error. I usually prefer a NaN result.

Re: find last value in a vector greater than 0

Hello,

 

All solutions work for me, but when i checked my data after reading what both of you wrote, i realized i have some vectors with all values 0, which would return an error, so i ended up using the function from LastPositive4 which is working for me. 

Yesterday i was trying with 'match' before i posted here, but i didn't get it right. Thank you both very much.

 

Otilia