Created
March 20, 2012 20:14
-
-
Save sjaffe/2140821 to your computer and use it in GitHub Desktop.
Revisions
-
sjaffe renamed this gist
Mar 20, 2012 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
sjaffe created this gist
Mar 20, 2012 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -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