approach value to 1

I have a variable that represents a double value in the range between 0 and 1. This variable should increase (i.e. come closer to 1) everytime a certain event occurs (say, a user clicks).

How (mathematically) would I calculate the variable, so that it comes closer to 1 everytime the event happens? This is probably pretty easy, but I'm lost here...

The problem I have is that I don't have the overall number of events (n) that already occured, but only the current value (v) of the variable. Otherwise I could calculate v = 1-1*n.

Thanks for your hints!

How (mathematically) would I calculate the variable, so that it comes closer to 1 everytime the event happens? This is probably pretty easy, but I'm lost here...

The problem I have is that I don't have the overall number of events (n) that already occured, but only the current value (v) of the variable. Otherwise I could calculate v = 1-1*n.

Thanks for your hints!

How (mathematically) would I calculate the variable, so that it comes closer to 1 everytime the event happens? This is probably pretty easy, but I'm lost here...

This is a weird requirement. You need to get closer to one, but you don't care how you approach it?

How about...

new_value = prev_value + ((1 - prev_value) / 1000);

Of course, the precision of a double isn't infinite. And it will eventually become one.

Henry

Well, you could add half the remaining interval every time an event occurs:

x += (1 - x)/2.0

x += (1 - x)/2.0

Lukas Benberg wrote:

The problem I have is that I don't have the overall number of events (n) that already occured, but only the current value (v) of the variable. Otherwise I could calculate v = 1-1*n.

I don't think that'd return a value between 0 and 1..... What use would (1-n) be?

I mean, n being an integer....

Thank you all,

I think this is what I had in my mind: x += (1 - x)/2.0 .

Henry, for the moment I don't care _how_ I approach 1. Later, this may become relevant. I will have to think about your hint.

Prabz, you are right, what I actually meant was: v = 1-1/n

I think this is what I had in my mind: x += (1 - x)/2.0 .

Henry, for the moment I don't care _how_ I approach 1. Later, this may become relevant. I will have to think about your hint.

Prabz, you are right, what I actually meant was: v = 1-1/n

i think however you do it, you will have a limit to how many clicks they can make. at some point, you will hit the limit on the precision of a float/long, and you're done.

can you perhaps better explain the larger problem? Maybe there is a better solution...

can you perhaps better explain the larger problem? Maybe there is a better solution...

Hi Fred,

the context is: I want to calculate something like the user's "preferences" for "items" from data I have. for further analysis, all preference values have to be between 0 and 1 (or alternatively between -1 and 1). I don't know in advance the final "preference" value, because preferences may increase later. also, the number of "items" may change later.

the context is: I want to calculate something like the user's "preferences" for "items" from data I have. for further analysis, all preference values have to be between 0 and 1 (or alternatively between -1 and 1). I don't know in advance the final "preference" value, because preferences may increase later. also, the number of "items" may change later.

no wonder he is so sad, he hasn't seen this tiny ad:

The WEB SERVICES and JAX-RS Course

https://coderanch.com/t/690789/WEB-SERVICES-JAX-RS
This thread has been viewed 691 times.

All times above are in ranch (not your local) time.

The current ranch time is

Feb 18, 2018 02:05:16.

The current ranch time is

Feb 18, 2018 02:05:16.