【问题标题】:Trouble formatting x and y data in gekko's bspline function在 gekko 的 bspline 函数中格式化 x 和 y 数据时遇到问题
【发布时间】:2019-04-12 06:22:22
【问题描述】:

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

我尝试使用 scipy 的 interpolate 函数为 x 和 y 数据与 z 数据之间的扁平网格创建数据,并进行排序,使 x 增加,y 循环增加值,但这仍然导致 y 值减小。

【问题讨论】:

    标签: 2d interpolation bspline gekko


    【解决方案1】:

    查看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 函数中

    【讨论】:

    • 您可以在 data=False 时加载节点和系数。当 data=True 时,它​​会为您构造 bspline 的节点和系数。以下是使用原始数据的示例:apmonitor.com/wiki/index.php/Main/…
    猜你喜欢
    • 1970-01-01
    • 2018-12-02
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 2020-05-15
    相关资源
    最近更新 更多