Solve simple equation with the floor function.

14 views (last 30 days)
NA
NA on 28 Apr 2021
Commented: NA on 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.

Accepted Answer

Matt J
Matt J on 28 Apr 2021
Edited: Matt J on 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

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by