|  |  | @@ -0,0 +1,68 @@ | 
    
    |  |  | %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 | 
    
    |  |  | 
 | 
    
    |  |  | 
 | 
    
    |  |  | 
 | 
    
    |  |  | 
 |