大家好,又见面了,我是你们的朋友全栈君。
11. Scipy Tutorial-多维插值griddata
scipy.interpolate模块下的griddata函数可以处理多元(维)函数的插值,以二元函数$f(x, y)$为例说明一下griddata的使用。与之前的一元函数插值interp1d相区别,interp1d是通过已知的点集$P = {(x_i, y_i)|x_i \in R, y_i \in R }$通过interp1d可以找到一个函数$f(x_i) = y_i$,那么任何一个$x_j$通过插值函数就能求得其$y_j = f(x_j)$,$y_i$即插值,这里的$x_j$可能是点集P里的一个数据,也可以不是,这是一元插值的思想。可以看出插值需要$f(x)$算出来,而griddata函数可以用于多元的插值,其返回值不是一个函数,而是插值本身,可以通过下面的代码验证一下这个说法。
下面的代码看上去很长,实际内容并不多,大致有三部分:第一部分从import numpy as np语句开始,到import matplotlib.pyplot as plt,这部分是本例子的核心,即求多元数据的插值,使用了griddata函数。第二部分是数据的可视化,从语句import matplotlib.pyplot as plt开始到第一个plt.show()即第一次数据可视化输出,这部分的作用是绘制已知点集和插值的数据的可视化。第三部分 从print “*” * 20语句开始一直到程序结束,这部分主要是验证griddata函数返回的是插值数据本身,无需像一元interp1d插值那样用点去计算插值了,返回值本身就是插值数据。
import numpy as np
def func(x, y):
return x*(
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/141193.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...