%Generate neighbors and relations matrix for each MSA %system(rename msa*.mat msa.mat); %filename=strcat('\nsf\usr\S\sjaffe\Work\Segregation\Matlab\msa', str2int(job_instance)) missing=importdata('/nfs/home/S/sjaffe/Work/Segregation/Matlab/missing.txt'); %16 34 path(path, '/nfs/projects_nobackup/s/sjaffe') path(path, '/nfs/home/S/sjaffe/Work/Segregation/Matlab') cd '/nfs/projects_nobackup/s/sjaffe' for file_num=10:52 file_num job_instance=missing(file_num) filename=strcat('msa_datafiles/msa', int2str(job_instance), '.mat'); load(filename) lat=data(:,2); lng=data(:,3); race=data(:,4); pop=data(:,5); racepop=data(:,6:9); numblocksinmsa=length(lat); clear data distance=1; % near=zeros(numblocksinmsa); % for i=1:numblocksinmsa % for j=(i+1):numblocksinmsa % if abs(lat(i)-lat(j)) <= .03*distance && abs(lng(i)-lng(j)) <= .03*distance % d=6378.1*acos(sin(2*pi*lat(i)/360)*sin(2*pi*lat(j)/360)+cos(2*pi*(lng(i)-lng(j))/360)*cos(2*pi*lat(i)/360)*cos(2*pi*lat(j)/360)); % if d <= distance % near(i, j)=1; % near(j,i)=1; % end % end % end % end % r_matrix=bsxfun(@rdivide, near, sum(near,2)); index=zeros(1, 2); z=1; for i=1:numblocksinmsa for j=(i+1):numblocksinmsa if abs(lat(i)-lat(j)) <= .03*distance && abs(lng(i)-lng(j)) <= .03*distance d=6378.1*acos(sin(2*pi*lat(i)/360)*sin(2*pi*lat(j)/360)+cos(2*pi*(lng(i)-lng(j))/360)*cos(2*pi*lat(i)/360)*cos(2*pi*lat(j)/360)); if d <= distance index(z,:)=[i, j]; index(z+1,:)=[j,i]; z=z+2; end end end end row=nonzeros(index(:,1)); column=nonzeros(index(:,2)); numzeros=numblocksinmsa^2-length(row); near2=sparse(row, column, ones(length(row),1), numblocksinmsa, numblocksinmsa,numzeros); r_matrix2=bsxfun(@rdivide, near2, full(sum(near2,2))); %numnear=sum(near,2); %r_matrix=near./repmat(numnear, 1, numblocksinmsa); filename=strcat('relation_files/r_matrix', int2str(job_instance)); save(filename, 'r_matrix', 'distance', 'msa', '-v7.3'); clearvars -except missing; end