% Filtros para la funcion G para IAC.
%   capiaiamccoeffung(x,nl,nr,r)
%   Entradas:
%           nl       = numero de nodos a la izquierda de f^{k-1}_{i} 
%           nl       = numero de nodos a la derecha de f^{k-1}_{i}         
%           r        = grado para F (r-1 para f)
%           x        = donde se calcula la funcion G. Si x=0 es en x^{k-1}_{i-1}, si es x=1 es en x^{k-1}_{i}
%   Salidas:
%           Se muestran por pantalla los filtros buscados
%
% Autor: José Jaime Noguera   +INFO: www.uv.es/anims/noguera

function capiaiamccoeffung(x,nl,nr,r)
r=r-1; %por concordancia con el PDF
A=matriuiamc(0,nl+nr,r);
C1=(A'*A)^(-1)*A';
A=matriuiamc(nl+nr,0,r);
C2=(A'*A)^(-1)*A';

for l=3:r+2
    vectrigth(l)=(x-1)^(l-1);
    vectleft(l)=(x+1)^(l-1)-1;
end    
 
format rational

%Lo que multiplica a fr(k-1,i-nl-nr-1:i-2)
-( x*(-ones(1,r)*C2)+vectleft(3:r+2)*C2  )
%Lo que multiplica a fr(k-1,i-1)
-(  x*((1+ones(1,r)*C2*ones(1,nl+nr)'))+vectleft(3:r+2)*C2*(-ones(1,nl+nr))'  )
%lo que multiplica a fr(k-1,i)
1
%Lo que multiplica a fr(k-1,i+1)
(x-1)*((1+ones(1,r)*C1*ones(1,nl+nr)')) + vectrigth(3:r+2)*C1*(-ones(1,nl+nr))'
%Lo que multiplica a fr(k-1,i+2:i+nl+nr+1)
(x-1)*(-ones(1,r)*C1)+ vectrigth(3:r+2)*C1

format
sprintf('Comienza en f^{k-1}_{i+(%d)} y acaba en f^{k-1}_(i+(%d))',-nl-nl-1,nl+nr+1)

