2011-12-23 2 views
4

Что такое R эквивалент простой Matlab кубической сплайн-интерполяции в 2D пространстве, показанном here, т.е.Основные двумерная кубический сплайн фитинг в R

n = 7; 
x = rand(n,1); 
y = rand(n,1); 
plot(x,y,'.') 
axis([0 1 0 1]) 
t = 1:n; 
ts = 1:1/10:n; 
xs = spline(t,x,ts); 
ys = spline(t,y,ts); 
hold on 
plot(xs,ys,'r'); 
hold off 

Я пробовал вариации R, но они, кажется, требуют упорядочение вектора x, а также перекрещивание связанных вопросов не привело меня к дальнейшему. Спасибо ...

ответ

10

Вероятно, это R-версия:

n <- 7 
x <- runif(n) 
y <- runif(n) 
t <- 1:n 
ts <- seq(1, n, by = 1/10) 
xs <- splinefun(t, x)(ts) 
ys <- splinefun(t, y)(ts) 

plot(x, y, xlim = c(0, 1), ylim = c(0, 1)) 
lines(xs, ys) 

Обратите внимание, что я не уверен, если алгоритмы сплайна полностью идентичны с MATLAB.

enter image description here

+0

Отлично, спасибо! – Christian

Смежные вопросы