> 1) pq na função GeraSpline existem h1 e h2, para que eles servem?
h1 e h2 servem para guardar os "delta taus". Eu deveria ter chamado essas variáveis de "DeltaTauimenos1" e "DeltaTaui" ou algo parecido, mas achei que h1 e h2 eram um pouco mais curtos. LEMBREM que vocês não são obrigados a usar essas variáveis, e podem inclusive mudar o nome delas.
> 2) quando vc diz que "double d[MAX], /* Guarda o lado direito do sist lin */" vc que dizer que ele guarda o b do Ax=b?
Exato. De novo, eu deveria ter chamado esse vetor de b para ficar mais coerente com o enunciado.
> 3) se os pontos são equiespaçados todos os "delta taus" são iguais? e se dão através de (b-a)/n?
Esses caras armazenam as condições de contorno. Vejam nas notas de aula como as diferentes c.c. levam a sistemas lineares diferentes. Como a gente não está permitindo que o programa conheça as derivadas da função nos extremos, só duas das condições de contorno fazem sentido: o natural e o not a knot.
NOTEM que o enunciado foi feito pensando tanto nos splines naturais como nos not a knot. Para os not a knot, as c.c. incluem as duas primeiras linhas e as duas últimas linhas, mas para quem for fazer o natural, a c.c. só inclui a primeira e a última linha. Então, o laço que gera o "miolo" da matriz vai de 2 até n-2 para o not a knot, mas vai de 1 até n-1 para o spline natural.