function [d] = cald(T, y)
exec('**/rich.sci', -1)
tol = 1e-12
n = size(y, 1)
a = zeros(n, 1)
b = zeros(n, 1)
c = zeros(n, 1)
d = zeros(n, 1)
u = zeros(n, 1)
h = zeros(n, 1)
// vecteur l pour contenir la différence y(i+1)-y(i)
l = zeros(n, 1)
h = T(2:n) - T(1:n-1)
l(1:n-1) = y(2:n) - y(1:n-1) // l(n) = 0 car de toute façon c(n) = 0
for i = 1:n-1
if (abs(h(i)) < tol)then
error("h(i) trop petit")
end
// a(1) = 0
a(i+1) = 1 / h(i)
// c(n) = 0
c(i) = 1 / h(i)
end
b = 2 * a(1:n) + 2 * c(1:n)
u(1) = l(1) .* c(1) .* c(1)
u(2:n) = l(1:n-1) .* (a(2:n).*a(2:n)) + l(2:n) .* (c(2:n).*c(2:n))
d = rich(a, b, c, u)
endfunction