function [P,C,A] = SmoothSpline2(G,beta) Ms = length(G); U = [1:Ms]; T = [-2:Ms+3]; m = length(T)-4; A = seval(eye(m),T,U)'; M = A'*A; C = zeros(m); C(1,2) = -0.5; C(m-1,m) = -0.5; C(2,3) = -1; C(m-2,m-1) = -1; for i = 3:m-3 C(i,i+1) = -3/2; end for i = 1:m-3 C(i,i+3) = 1/6; end S = C'; C = C + S; C(1,1) = 1/3; C(m,m) = 1/3; C(2,2) = 4/3; C(m-1,m-1) = 4/3; C(3,3) = 7/3; C(m-2,m-2) = 7/3; for i = 4:m-3 C(i,i) = 8/3; end Fu = A\G'; Fschlange = (C+beta*M)\(C*Fu); P = Fu - Fschlange; X = [1:Ms]; plot(X',G','r.'); hold on; D = linspace(1,Ms); plot(D,seval(P',T,D),'b');