1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Function query

  1. Jul 8, 2007 #1
    I was wondering, if you have the function:


    and the value returned is a non-integer, what form would the function g(x) have if it were to return the decimal part of the value returned multiplied by B?

    For example:


    What function would return B*0.245862?(This is a specific example of course, what I am looking for is a function that is valid for all numbers, at least for all positve integers of A, and all positive values of B) Thank you for your time.
  2. jcsd
  3. Jul 8, 2007 #2
  4. Jul 8, 2007 #3
    But thats the thing- what is the algebra for the floor function? is there a solution with pure algebra?
  5. Jul 8, 2007 #4
    Ah I see I posted a question asking if that's what you meant, then deleted it.

    Why would you need to do that by algebra I wonder, when you can achieve the same thing much more easily without algebra? Computers can do this too with the int(integer) command. One for the pure mathameticians maybe?
    Last edited: Jul 8, 2007
  6. Jul 8, 2007 #5


    User Avatar
    Science Advisor

    ?? That is perfectly good algebra. The floor function is as valid a function as x2 or [itex]\sqrt{x}[/itex].
  7. Jul 9, 2007 #6
    okay, how about an operation that uses one of the following: multipication, division, addition, and subraction?
  8. Jul 9, 2007 #7
    or calculus
  9. Jul 9, 2007 #8

    matt grime

    User Avatar
    Science Advisor
    Homework Helper

    How about, in magma notation for the sheer hell of it

    function floor(x)
    if x ge 1 then return floor(x-1); end if; // add or subtract 1 until
    else if x lt 0 then return floor(x+1); end if; // you reach the range [0,1)
    else return x; // then return x if x is in said range.
    end function;

    or does logical case by case analysis not fit into what ever arbitrary methods you've chosen as 'preferable'?

    You should try not to confuse functions with methods to evaluate those functions - plenty of posters round here continually make this very important mistake.
    Last edited: Jul 9, 2007
  10. Jul 9, 2007 #9
    How about BASIC

    10 inkey a
    20 inkey b
    25 a/b=x
    30 print (x-int x)*b
    40 Print"Another y/n?"
    50 inkey$
    60 if inkey$="y" then goto 10
    70 if inkey$="n" then goto 80
    80 Print"bye!"


    What's the formula to return b*the result of(x-int x) without a floor funciton?

    What's the derivation mathematically of the floor function using +-/* or calculus?
    Last edited: Jul 9, 2007
  11. Jul 9, 2007 #10
    I don't believe calculus, multiplication, division, addition, and subtraction are arbitrary methods. I have just found the approximation using fourier analysis.
  12. Jul 9, 2007 #11


    User Avatar
    Homework Helper

    Don't forget modulo. X%1 will return a value >=0 and < 1 for all positive numbers. I'm not sure if C defines what happens if X is negative. In APL, the modulo function was implemented "correctly" for negative numbers. The sign of the result is always the sign of the divisor (and not the dividend), so that (-.6)%(+1.0) = (+.4), and (+.6)%(-1.0) = (-.4), this eliminates a double step at 0, and makes the modulo function and integer division origin independent. On computers that implement a "non-restoring" divide algorithm, the results are the same as that of APL, but few computers use this method.
  13. Jul 10, 2007 #12


    User Avatar
    Science Advisor

    I know what "multiplication, division, addition and subtraction" are :rolleyes:, but what do you mean by "calculus" as an arithmetic method?

    And why in the world would anyone use Fourier analysis to approximate something as easy to calculate exactly as the floor function? That's like using Bessel Functions to approximate x2!
  14. Jul 10, 2007 #13

    matt grime

    User Avatar
    Science Advisor
    Homework Helper

    Of course what I wrote isn't the floor function - it returns the fractional part. D'oh. Can easliy be altered, though (just subtract the fractional part of x from x).
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook