插值函数-矩阵

时间:2019-11-18 21:00:42

标签: python python-3.x scipy

您知道similar function to this的点是narray(矩阵)吗?

我尝试从matlab转换函数:

Ex=interp3(X,Y,Z,squeeze(Emat(1,:,:,:)),x(1),x(2),x(3), 'linear', 0);

到python。尝试过:

Ex=interpn((X,Y,Z), np.squeeze(Emat[1,:,:,:]), np.array(x))

但是X,Y,Z应该是float的ndarray的元组,而在matlab中的形状是12 12 12。

1 个答案:

答案 0 :(得分:0)

您是否正在寻找符合这些条件的东西?

import numpy as np
import matplotlib.pyplot as plt

def linear_approx(x,xf1,xf2):
    (x1,f1) = xf1
    (x2,f2) = xf2
    return f1*(x-x2)/(x1-x2) + f2*(x-x1)/(x2-x1)

x1, f1 = 0.0, 3.0
x2, f2 = 2.0, -2.0

plt.plot(x1,f1,"ro")
plt.plot(x2,f2,"ro")

myx = np.linspace(-1,4,200)
plt.plot(myx,linear_approx(myx,(x1,f1),(x2,f2)))