function [Y, X, Yt] = GetDat(n,sig) try load Lmembrain, catch DIM=500; d = DIM/2; left = reshape(1:2*d^2,2*d,d); ne = zeros(d,d); se = reshape(2*d^2+1:3*d^2,d,d); right = [ne; se]; L1 = [left, right]; [m,n] = size(L1); L2 = [zeros(m,1), L1, zeros(m,1)]; L = [zeros(1,n+2); L2; zeros(1,n+2)]; A = delsq(L); spy(A); opts.disp = 0; [vecs,vals] = eigs(A,6,'sm',opts); v = vecs(:,end); % Grab the last column. L(find(L)) = v; % s = surf(-L); % imagesc(-L); save Lmembrain L end DIM=size(L); X = rand(n,2); Y = interp2(1:DIM(1),1:DIM(2),-L,X(:,1)*DIM(1),X(:,2)*DIM(2)); Y(isnan(Y)) = 0; Y = (Y-mean(Y(:)))/std(Y(:)); Yt = Y; if sig>0 Yn = Y+sig*randn(size(Y)); Y = (Yn-mean(Yn(:)))/std(Yn(:)); Yt = (Yt-mean(Yn(:)))/std(Yn(:)); end