function a=hermite(x, y, d)

n=length(x);
if length(y)~=n| length(d)~=n
    error(' non abbiamo sufficienti condizioni');
end
a=zeros(2*n, 1); % il polinomio interpolante ha a piu' grado 2*n-1

if size(x, 1)~=n
    x=x';
end

V=zeros(2*n);
for j=1:2*n
        V(1:n, j)=x.^(j-1);
        if j~=1
            V(n+1:end, j)=(j-1)*x.^(j-2);
        end
end
if size(y,1)~=n;
    y=y';
end
if size(d,1)~=n
    d=d';
end
b=[y;d];
a=V\b;
a=a(end:-1:1);

        


