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 从曲线中外推一个值时,不会为该外推值计算置信区间。