Как мне избежать, чтобы мой сплайп-интерполированный сплайн не добавил посторонние нули? - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь подогнать сплайн к моему массиву: dej

, когда я использую interpolate.splrep. Я получаю вывод, который длиннее, а последняя x-координата повторяется 4 раза, и ихзначение y равно 0, в то время как первое значение x повторяется 4 раза, каждая перезаписывает одну другую точку данных и расширяет массив на 2. Весь мой массив на 4 пункта длиннее.

    In [12]: len(dej[:,0])
    Out[12]: 140

    In [13]: len(dej[:,1])
    Out[13]: 140

    In [14]: moo = interpolate.splrep(dej[:,0],dej[:,1])

    In [15]: len(moo)
    Out[15]: 3

    In [16]: len(moo[0])
    Out[16]: 144

    In [17]: len(moo[1])
    Out[17]: 144

Это вызывает смещение вданные, поэтому подогнанный сплайн не накладывается на данные.Вероятно, это свойство сглаживания, но есть ли способ его отключить?

изображение смещения и данных

1 Ответ

0 голосов
/ 10 октября 2018

Используйте splrep(x, y, s=0) для принудительной интерполяции (параметр s контролирует уровень сглаживания)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...