如何绕过函数tan(x)未定义的角度,即x != Pi/2 + k * PI ?
我尝试使用条件:
(x != 0) && (2 * x / M_PI - (int)(2 * x / M_PI ) ) < epsilon,
但是它代表了一个条件
x != Pi/2 + k * PI/2.
感谢您的帮助。
最佳答案
相同的条件可用于确定 cos(x) 的哪些值将为零。由于这个奇妙的事实,您可以简单地执行以下操作(伪代码):
SafeTan(x)
{
if (cos(x) < epsilon) { /* handle the error */ }
else { return tan(x); }
}
编辑:作为In silico指出,这是三角恒等式的结果:
在这种形式中,您可以看到未定义的值将出现在 cos(x) = 0 的任何位置,因为除以零。
关于c++ - 切线,条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4091625/