Solve simple equation with the floor function.

9 visualizzazioni (ultimi 30 giorni)
NA
NA il 28 Apr 2021
Commentato: NA il 29 Apr 2021
S and P are known element in the equation. I want to find x
S = 10;
P = 13;
S = floor(P*(1-x))
I do not know how to deal with the floor functions.

Risposta accettata

Matt J
Matt J il 28 Apr 2021
Modificato: Matt J il 28 Apr 2021
It is the same as solving
S+delta=P*(1-x)
where 0<=delta<1 is arbitrary. The solution is then,
x=1-(S+delta)/P
It's important to keep in mind if you are solving this numerically that delta=0 will be a numerically unstable choice because the resulting x will take you close to the discontinuity of the floor function.
Let's test with delta=0.5:
S = 10;
P = 13;
delta=0.5;
x=1-(S+delta)/P
x = 0.1923
S == floor(P*(1-x)) %check
ans = logical
1

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by