% スプライン補間（区間幅は1）

xi = 2; xj = 3;
fi = 3; fj = 4;
di = 1; dj = -1;

f = @(x) fi*phi0(x-xi) + fj*phi1(x-xi) ...
       + di*psi0(x-xi) + dj*psi1(x-xi);
fd = @(x) fi*phi0d(x-xi) + fj*phi1d(x-xi) ...
       +  di*psi0d(x-xi) + dj*psi1d(x-xi);
fdd = @(x) fi*phi0dd(x-xi) + fj*phi1dd(x-xi) ...
       +   di*psi0dd(x-xi) + dj*psi1dd(x-xi);

n = 100;
step = (xj-xi)/n;
x = [xi:step:xj]';
plot(x,f(x));
fprintf("f(x)\n");
fprintf("一時停止：何かのキーを押してください\n");
pause;

plot(x,fd(x));
fprintf("f'(x)\n");
fprintf("一時停止：何かのキーを押してください\n");
pause;

plot(x,fdd(x));
fprintf("f''(x)\n");
fprintf("一時停止：何かのキーを押してください\n");
pause;
