%Schauder-Basis in [0,1].
%x ist die gegebene Knotenfolge mit x(1)=a, x(2)=b (Intervallenden)
%b ist eine Matrix. In Zeile j stehen die Werte 
%der Basis Nr. j=1,2,...le
%Die Anzahl der Werte ist dis. (Zweierpotenz +1, damit die 
%Nahtstellen gefunden werden können.
%Jedes Basiselement ab Nr. 3 ist eine Hutfunktion.
%Literatur: R. M. Young: An introduction to nonharmonic Fourier
%series, Academic Press, 1980,  Seite 3.
%Programm: G. O. ab 7. 12. 1995
function [b]=schauderbasis(x,dis);
le=length(x);
[y,i]=sort(x);
tt=linspace(x(1),x(2),dis);
b=zeros(le,dis);
b(1,:)=ones(1,dis);
b(2,:)=(tt-x(1))/(x(2)-x(1));
for j=3:le
   z=x(1:j); 
   [y,i]=sort(z);
   k=find(i==j);
   km=z(j);kl=z(i(k-1));kr=z(i(k+1));
   Kl=find(tt==kl);
   Km=find(tt==km);
   Kr=find(tt==kr);
   b(j,Kl:Km)=[(0:Km-Kl)/(Km-Kl)];
   b(j,Km:Kr)=[((Kr-Km):-1:0)/(Kr-Km)];
end; %for j
return;  
