有没有办法计算实数的反因子?
例如 - 1.5 ! = 1.32934039
如果我的值为1.5
,有没有办法获取1.32934039
?
我正在尝试
http://www.wolframalpha.com/input/?i=Gamma^(-1)[1.32934039]
但这是一次失败。
答案 0 :(得分:5)
使用wolframalpha.com,您可以要求
Solve[Gamma[x+1]==1.32934039,x]
正如评论中所提到的,Gamma没有唯一的逆。即使在解决传统因子时也是如此,例如
Solve[Gamma[x+1]==6,x]
得出几个答案,其中一个是3。
您可以使用Factorial []:
,而不是在WolframAlpha中使用Gamma []Solve[Factorial[x]==6,x]
Solve[Factorial[x]==1.32934039,x]
答案 1 :(得分:5)
David Cantrell在this page上给出了Γ -1 (n)的良好近似值:
k = the positive zero of the digamma function, approximately 1.461632 c = Sqrt(2*pi)/e - Γ(k), approximately 0.036534 L(x) = ln((x+c)/Sqrt(2*pi)) W(x) = Lambert W function ApproxInvGamma(x) = L(x) / W(L(x) / e) + 1/2
答案 2 :(得分:3)
对于你可以做的整数:
i = 2
n = someNum
while (n != 1):
n /= i
i += 1
return (i==1 ? i : None)
实数的阶乘没有逆。你说“每个函数必须有一个逆”。那是不对的。考虑常数函数f(x)=0
。什么是f^-1(42)
?要使函数反转,必须 注入和注入。