|
|
1
32
1。常数外推
你可以使用
2。线性(或其他自定义)外推你可以在一个插值函数周围写一个包装器来处理线性外推。例如:
输出:
|
|
|
2
71
你可以看看 InterpolatedUnivariateSpline 下面是一个使用它的示例:
|
|
|
3
50
从scipy版本0.17.0开始,有一个新的选项 scipy.interpolate.interp1d 这允许推断。只需在调用中设置fill_value=“extrapolate”。通过这种方式修改代码可以:
结果是:
|
|
|
4
8
那么scipy.interpolate.splrep(使用1度且不平滑)如何:
因为34=25+(25-16),它似乎可以做你想做的事情。 |
|
|
5
6
这里有一个只使用numpy包的替代方法。它利用了numpy的数组函数,因此在插值/外推大型数组时可能更快:
编辑:马克·米科夫斯基建议修改“extap”函数:
|
|
|
6
5
使用起来可能更快 布尔索引 具有 大型数据集 ,因为该算法检查每个点是否在间隔之外,而布尔索引允许更容易和更快的比较。 例如:
在我的例子中,数据集是300000点,这意味着速度从25.8秒提高到0.094秒,这是 速度快250倍以上 . |
|
|
7
2
我是通过在初始数组中添加一个点来实现的。这样我就避免了定义自制函数,线性外推(在下面的例子中:右外推)看起来没问题。
|
|
|
8
1
据我所知,恐怕做这件事不容易。我确信您已经知道,可以关闭边界错误并用常量填充超出范围的所有函数值,但这并没有真正的帮助。见 this question 在邮件列表上寻找更多的想法。也许你可以使用某种分段函数,但这似乎是一个很大的痛苦。 |
|
|
9
0
标准内插+线性外推:
|
|
|
10
0
下面的代码提供了简单的外推模块。
K
是数据集的值
Y
必须根据数据集进行外推
X。
这个
|
|
|
Muhammad Umer · 为什么这个随机数猜谜游戏模拟产生5.8 1 年前 |
|
|
Alisa Petrova · 在有向图中更改一对顶点以创建循环 1 年前 |
|
|
D W · Python-将浮点数从2转换为10到100位小数 1 年前 |
|
|
Bartol · 确定python龟图形中的角度 2 年前 |
|
|
randomAlgo · 将弹簧设置为相同长度的成本最低 2 年前 |
|
Fyodor · 在C中使用sin和cos计算数学表达式不正确? 2 年前 |
|
Sergio · python中大量数字的乘法 2 年前 |