试试 numpy.piecewise() 或者 google 一下 piecewise liearn fitting对 numpy 不熟悉,以我朴素的数学知识瞎 bibi 下, 先锁定第一点 A 和最后一点 B, 然后假定加入中间的 i 点,变成 2 条线了,计算对应的方差 Di,确定第 3 个点 C=i, where Di= min D 再继续加入第 4 个点。。。。直到需要的点数, 2000 个数据点算起来应该也还好,最大问题可能是如果不巧的话,前面的点不好,后面的未必是最优的