错误 Matlab:'xnodes and ynodes must be monotone increasing'

Error Matlab: 'xnodes and ynodes must be monotone increasing'

我遇到了这个看起来很容易解决的问题,但我还是搞不定。我在地图上的 X 和 Y 2d 坐标上定义了一个函数 Z。我需要使用另一个坐标 xnodes、ynodes 对其进行插值。当我将信息传递给:

Zi = gridfit(X,Y,Z,xnodes,ynodes)

或其他代码:

Zi = RegularizeData3D(X,Y,Z,xnodes,ynodes)

我收到错误消息:

??? Error using ==> gridfit at 404
xnodes and ynodes must be monotone increasing

我试过:

[yi idyi] = sort(ynodes,'ascend');
xi = xnodes(idyi);
Zi = gridfit(X,Y,Z,xi,yi)

并得到相同的错误信息。任何想法如何解决这个问题? 谢谢!

您的 X 和 Y 向量必须递增,即均匀分布。如果不是,那么您可以使用 scatteredinterpolant class.