【发布时间】:2021-01-20 05:46:12
【问题描述】:
我正在做一些图形类型的工作,我经常想将两点之间的斜率作为 dy / dx。但是,如果我的 dx 正好为零,我会得到一个被零除的错误。
如果 dx 为零,我可以将其设置为较小的值,例如 0.001。不过,我想提高我的解决方案的准确性。
对于这个给定的问题可能有更好的解决方案,但我确信存在其他问题,其可能的解决方案要求同样的事情:最小可能的非零数。
另外,获得它有多贵?这个数字是否有很大的可能性无法可靠地复制,可能是由于舍入误差?
【问题讨论】:
-
我认为这是meta.stackexchange.com/questions/66377/what-is-the-xy-problem 我怀疑您是否可以使用最小的非零数字来实现您的目的。您真正想要的是仍然可以计算出有意义的斜率的最小数字。但是对于零的 delta x,如果它存在,则存在一个有意义的斜率,即“垂直”。所以我认为你真正应该做的是对任何 0-deltax 使用语义上的“垂直”,而不是将 deltax 更改为只给你一个看似有意义的斜率的东西。
-
如何做到这一点当然是一个不同的问题。请更详细地描述您的背景。然后我们可以为您的需要寻找解决方案,而不是帮助您强制您目前遵循的最终可能是死路一条。
-
为什么这个标签both C 和 Python?它们的浮点类型不等价。您正在寻找哪种语言的特定类型?你知道 Python 也有任意精度的有理类型吗?
-
宫城先生,不,我不知道!我想知道每种语言的答案。 Yunnosch,我不是在寻找特定问题的解决方案。我问这样我可能能够更好地解决未来的问题。没有死胡同。
标签: python c divide-by-zero