有一个解析逆(我不会费心在这里,因为它很大),但它仅适用于常数A的有限范围,即A> 0.385f(x)。然后,我想到了两种可能的解决方案:
我趋向于(2),因为它看起来很简单并且不会像(1)那样使我的代码变慢,但是我对近似的有效性并不安全。我也很感谢其他建议。
如果有一些内置的方法可以解决我的问题,那么我的代码是C ++。
答案 0 :(得分:1)
尽管您建议的两种建议方法在更一般的情况下都很有趣,但该函数可以解析地反转。
在Mathematica中,您可能将其反转并得到了“错误”答案:
正确的真实答案是平方根的绝对值。
以下是说明此“正确”答案的原理图:
答案 1 :(得分:0)
让y = Ax/(1-x**2)**(1/3)
,然后y**3 = A**3*x**3/(1-x**2)
,然后A**3*x**3 = y**3*(1-x**2)
。这是一个三次方程式。解决它,您会发现x(y)。