【发布时间】:2016-09-14 14:37:29
【问题描述】:
我有来自模拟的 numpy.array 数据集,但我错过了边缘的点 (x=0.1),如何将 z 中的数据内插/外推到边缘?我有:
x = [ 0. 0.00667 0.02692 0.05385 0.08077]
y = [ 0. 10. 20. 30. 40. 50.]
# 0. 0.00667 0.02692 0.05385 0.08077
z = [[ 25. 25. 25. 25. 25. ] # 0.
[ 25.301 25.368 25.617 26.089 26.787] # 10.
[ 25.955 26.094 26.601 27.531 28.861] # 20.
[ 26.915 27.126 27.887 29.241 31.113] # 30.
[ 28.106 28.386 29.378 31.097 33.402] # 40.
[ 29.443 29.784 30.973 32.982 35.603]] # 50.
我想在 z 中添加一个对应于 x = 0.1 的新列,以便我的新 x 将是
x_new = [ 0. 0.00667 0.02692 0.05385 0.08077 0.1]
# 0. 0.00667 0.02692 0.05385 0.08077 0.01
z = [[ 25. 25. 25. 25. 25. ? ] # 0.
[ 25.301 25.368 25.617 26.089 26.787 ? ] # 10.
[ 25.955 26.094 26.601 27.531 28.861 ? ] # 20.
[ 26.915 27.126 27.887 29.241 31.113 ? ] # 30.
[ 28.106 28.386 29.378 31.097 33.402 ? ] # 40.
[ 29.443 29.784 30.973 32.982 35.603 ? ]] # 50.
所有的“?”替换为内插/外推数据。 感谢您的帮助!
【问题讨论】:
-
外推值取决于序列中渐进元素的关系是线性的还是对数的。如果是前者,你可以将倒数第二列乘以你的常数,如果是后者,那么你必须查看列之间的进展并确定一个合适的值。此外,这绝对是外推。
标签: python arrays numpy interpolation extrapolation