2016-10-12 7 views
2

Я использую функцию spline() для сплайна между x и y, так как на выходе у меня есть список из 2 элементов (x e y), есть ли способ узнать узлы, используемые spline() ??Есть ли способ узнать узлы, используемые сплайном()?

+1

Я не эксперт по сплайнам, но в моем понимании, не являются входными точки просто узлы? Если нет, вас может заинтересовать 'splinefunc', который вместо возвращения интерполированных точек возвращает функцию * для выполнения интерполяции. –

+0

Привет @memy, если ответ решает вашу проблему, пожалуйста, отметьте его «принятым», чтобы другие могли его увидеть ;-) – agenis

ответ

1

Смотрите страницу справки для ?spline, он объясняет это очень хорошо, что по умолчанию по умолчанию число узлов в три раза превышает число x точек

сплайн (х, у = NULL, п = 3 * длина (х), метод = "FMM", Xmin = мин (х), Xmax = тах (х), XOUT, связи = среднее значение)

"п", если XOUT остается не определено, интерполяция имеет место при п равномерно распределенные точки, охватывающие интервал [xmin, xmax].

Позволяет проверить это:

sp <- spline(x=1:3, y=rnorm(3)) 
print(sp$x) 
#### [1] 1.00 1.25 1.50 1.75 2.00 2.25 2.50 2.75 3.00 
seq(from=1, to=3, length.out=3*3) 
#### [1] 1.00 1.25 1.50 1.75 2.00 2.25 2.50 2.75 3.00 
+0

извините, я не был ясен, но хочу иметь координаты узлов. – memy

+0

@memy я не понимаю; вывод 'spline', список, о котором вы упоминаете, * по определению * координаты узлов. Как вам это не подходит? вам не нужен список? Вы хотите «y» координаты исходных точек x? – agenis

+0

Извините, может быть, я не понимаю, что это за узлы. – memy