Matlab interp1 曲线不跟随数据

Matlab interp1 curve doesn't follow data

我一直在使用 interp1 绘制曲线以跟随数据点集,并且对于大多数数据点它一直有效:

但是当我尝试使用另一组数据点时,它根本不遵循它们:

对于这两种插值,我使用的代码只是:

curve = interp1(x, y, 'pchip');

其中 x 只是对应于每个数据点的 x 轴的一组数字,y 是值本身。

我不知道第二个数据集有什么不同导致 interp1 函数不跟随数据。

感谢@m.s。为了提供他的代码,事实证明问题是第二张图我用 x= -90:10:90 插值,而如果我用 1:19 插值,与第一张图类似,那么问题已解决。