Hi all;
I have a function with calculate a result as fallow:
res = (50.0 * (1.0 + sin((x / 23.0 - (x / 23)) * 360.0 * pi / 180.0)))
and x is the variable which vary on each call.
know I need the have the slope of the curve as each point! :-/
is there any method out? or any fast idea to let me find it out?
tnx
Regards,
Ali R. Taleghani
+1(424) 279-4548
@linkedIn http://ir.linkedin.com/in/taleghani
maybe there is an error:
sin((x / 23.0 - (x / 23)) = sin(0)
No, the second x/23 does integer division
I didn’t found some thing special!
but it seems not to be a complex
I the fallowing calculation to find the deviation out:
result = (50.0 * (1.0 + sin((z / 23.0 - (z / 23)) * 360.0 * pi /
180.0))).to_f.round(3)
slope = ((50.0 * (1.0 + sin(((z+1) / 23.0 - ((z+1) / 23)) * 360.0 * pi /
180.0)))-phys/1).to_f.round(3)
Regards,
Ali R. Taleghani
+1(424) 279-4548
@linkedIn http://ir.linkedin.com/in/taleghani
actually in my case, x is always a positive integer…
Regards,
Ali R. Taleghani
+1(424) 279-4548
@linkedIn http://ir.linkedin.com/in/taleghani
On Saturday 03 May 2014 10:26:58, [email protected] wrote:
res = (50.0 * (1.0 + sin((x / 23.0 - (x / 23)) * 360.0 * pi / 180.0)))
Are you sure about this function?
x / 23.0 - (x / 23) evaluates to zero, assuming x is a Float.
(Which seems to be implied since you talk about the slope.)
Not quite, since x/23 is an integer division, as Kevin pointed out. It’s
the
same as x / 23.0 - floor(x / 23.0). Leaving arithmetic underflows [1]
aside,
it will be 0 iff x = i*23 (i = 1, 2, …, n).
Still, finding the slope of f(x) at x means calculating f’(x), i.e.,
derive
f(x). Which has nothing to do with Ruby, but is a math question.
https://en.wikipedia.org/wiki/Differentiation_rules could help.
HTH
--- Eric
[1] Arithmetic underflow - Wikipedia
Maybe you are looking for #lambda?
anon_method = lambda do |x|
x + 2
end
anon_method.call(4) #=> 6
Vale,
Quintus
–
Blog: http://www.quintilianus.eu
I will reject HTML emails. | Ich akzeptiere keine HTML-Nachrichten.
|
Use GnuPG for mail encryption: | GnuPG für Mail-Verschlüsselung:
http://www.gnupg.org | The GNU Privacy Guard
Am 03.05.2014 08:24, schrieb [email protected]:
I have a function with calculate a result as fallow:
res = (50.0 * (1.0 + sin((x / 23.0 - (x / 23)) * 360.0 * pi / 180.0)))
Are you sure about this function?
x / 23.0 - (x / 23) evaluates to zero, assuming x is a Float.
(Which seems to be implied since you talk about the slope.)
Regards,
Marcus
Am 04.05.2014 17:27, schrieb Eric MSP Veith:
On Saturday 03 May 2014 10:26:58, [email protected] wrote:
x / 23.0 - (x / 23) evaluates to zero, assuming x is a Float.
(Which seems to be implied since you talk about the slope.)
Not quite, since x/23 is an integer division, as Kevin pointed out.
It’s the same as x / 23.0 - floor(x / 23.0). Leaving arithmetic
underflows [1] aside, it will be 0 iff x = i*23 (i = 1, 2, …,
n).
Not quite, when you assume x to be a Float - as clearly stated
in my post - then x/23 is not an integer division.
Still, finding the slope of f(x) at x means calculating f’(x),
i.e., derive f(x). Which has nothing to do with Ruby, but is a math
question.
On the other hand, when you assume x to be an Integer then f’(x) would
not be mathematically defined…
Probably the OP simply meant f(n+1) - f(n).
Regards,
Marcus
Regards,
Ali R. Taleghani
+1(424) 279-4548
@linkedIn http://ir.linkedin.com/in/taleghani
On Sunday 04 May 2014 18:29:24, [email protected] wrote:
Not quite, when you assume x to be a Float - as clearly stated
in my post - then x/23 is not an integer division.
You are right, I should have checked before.
—%<—
irb(main):001:0> x = 6
=> 6
irb(main):002:0> x / 23
=> 0
irb(main):003:0> x / 23.0
=> 0.2608695652173913
—>%—
--- Eric
AliReza T. wrote in post #1144791:
know I need the have the slope of the curve as each point!
Here an example of slop() :
def f(x)
return 50.0*(1.0+Math.sin((x / 23.0-(x/23))360.0Math::PI/180.0))
end
def slop(function,min,max,step=nil)
step||=(max-min)/100.0
min.step(max,step).map { |x|
1.0*(function.call(x+step)-function.call(x))/step
}
end
p slop(method(:f),0,180,1)