无法在gekko的bspline函数中格式化x和y数据

时间:2019-04-12 06:22:22

标签: 2d interpolation bspline gekko

我正在尝试在GEKKO中执行2D插值,并具有x,y和z数据。但是,当我将它们输入到bspline函数中时,出现错误“ x_data和y_data必须严格增加”。如何计算结点和系数以定义曲面?

我尝试使用scipy的插值函数创建带有z数据的x和y数据之间的扁平网格的数据,并进行了排序,因此x增大且y循环通过增大的值,但这仍然导致y值减小。

1 个答案:

答案 0 :(得分:2)

查看http://apmonitor.com/wiki/index.php/Main/ObjectBspline后,我意识到xdata和ydata是bspline的结,而z值是系数。因此,可以从scipy.interpolate.bisplrep(xdata,ydata,zdata)获得这些值,该函数返回一个列表,其中包含用于定义曲面的结和系数。然后可以将这些作为m.bspline(xtest,ytest,ztest,tck [0],tck [1],tck [2],data = False)输入bspline函数