Please enable JavaScript to view this site.

如果您让 Prism 根据给定的 X 计算 Y,它会通过求解定义该曲线的方程来完成。这非常简单。

如果您要求 Prism 根据给定的 Y 值计算 X 值,情况就复杂得多。Prism 不会尝试通过代数方法求解方程,而是采用数值插值法。计算结果的精度至少可达小数点后 6-7 位。  

Prism 会自行决定要考虑的 X 值范围。为了允许在数据范围之外进行一些外推,Prism 会创建一个包含数据范围的插值/外推范围,并在每个方向上向外延伸一段距离,该距离等于 Xmax 与 Xmin 之间差值的一半。有两种特殊情况:当所有数据均为正数(或零)时,该范围会被截断以排除负数。 同样地,当所有数据均为负数(或零)时,插值/外推范围会被截断以排除正数。

然后,Prism 将该插值/外推范围划分为 1000 个线段。

对于每个要进行插值或外推的值,Prism 首先尝试在数据的 X 值范围内进行插值。

1.它从最低的 X 值开始(在图表上从左向右扫描)。如果有多个线段包含该 Y 值,Prism 只会找到第一个(最低的 X 值)。

2.随后,Prism 会在该线段内进行插值,以尽可能精确地确定 X 值。 在大多数情况下,它通过二分法实现这一点。它将线段一分为二,并确定哪一半包含 Y 值。然后将该半段再次一分为二,如此反复。这一过程持续进行,直到在计算机的数值精度范围内尽可能精确地确定 X 值。在极少数情况下,Y 值在步骤 1 确定的范围内可能不具有单调性。此时,Prism 将使用线性插值而非二分法。

如果 Prism 无法在数据的 X 范围内对输入的 X 值进行 Y 值插值,它将尝试将该值外推至上述扩展范围。它首先检查小于数据中最小 X 值的 X 值,然后检查大于数据中最大 X 值的 X 值。

当 Prism 对数据进行插值(即 X 值在数据范围内)时,若您提出要求,它还会计算置信区间。具体方法是确定两条置信带与您输入的 Y 值的交点。当 Prism 从曲线中对数据进行外推时,不会为该外推值计算置信区间。