PDA

View Full Version : function query


lewis198
Jul8-07, 12:04 PM
I was wondering, if you have the function:

f(x)=A/B

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:

A/B=3.245862

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.

JeffN
Jul8-07, 12:43 PM
B\left(A/B-floor(A/B)\right)

lewis198
Jul8-07, 12:45 PM
But thats the thing- what is the algebra for the floor function? is there a solution with pure algebra?

Schrodinger's Dog
Jul8-07, 12:49 PM
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?

HallsofIvy
Jul8-07, 01:08 PM
But thats the thing- what is the algebra for the floor function? is there a solution with pure algebra?
?? That is perfectly good algebra. The floor function is as valid a function as x2 or \sqrt{x}.

lewis198
Jul9-07, 03:05 AM
okay, how about an operation that uses one of the following: multipication, division, addition, and subraction?

lewis198
Jul9-07, 03:06 AM
or calculus

matt grime
Jul9-07, 03:43 AM
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.

Schrodinger's Dog
Jul9-07, 06:53 AM
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!"

run

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?

lewis198
Jul9-07, 07:45 AM
I don't believe calculus, multiplication, division, addition, and subtraction are arbitrary methods. I have just found the approximation using fourier analysis.

rcgldr
Jul9-07, 10:23 PM
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.

HallsofIvy
Jul10-07, 05:41 AM
I don't believe calculus, multiplication, division, addition, and subtraction are arbitrary methods. I have just found the approximation using fourier analysis.

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!

matt grime
Jul10-07, 05:57 AM
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).