function p=pu(mh,mv,border) % PU creates the coarse mesh basis % % function p=pu(mh,mv,border) % p=zeros(mh,mv); hl=border+1; hu=mh-border; vl=border+1; vu=mv-border; dh=(border+1); dv=(border+1); bx=border; px=pu1d(mh,border); py=pu1d(mv,border); p=px*py'; % % the basis in 1D % function p=pu1d(mh,overlap) del=overlap; p=ones(mh,1); x=1:mh; h=1/(mh+1); x=x'*h; if 2*del > mh del = floor(mh/2); end mr=del; ml=mh-del-1; xr=0; xl=(ml+1)*h; for i=1:del+1 p(i)=(x(i)-xr)/(x(del+1)-xr); end for i=ml+1:mh p(i)=(1-x(i))/(1-x(ml+1)); end