# st: Matrix manipulation help

 From "Susan Olivia" To statalist@hsphsun2.harvard.edu Subject st: Matrix manipulation help Date Wed, 13 May 2009 10:53:46 -0700

```Dear Stata list,

Can I get programming advice how to create a NxN distance
matrix using the information on latitude and longitude.

Below is what I attempted to do in STATA, but it didn't
work. Would be great if I can get any advice on how to
improve this code.

Thanks,

Susan

****************************
qui set obs 1000

gen xcoord = uniform()*100
gen ycoord = uniform()*100

mkmat xcoord ycoord

local N=_N
scalar N = _N

matrix latlong= xcoord,ycoord

matrix D = J(`N',`N', 0)

* looping through the rows and columns of the matrix D, to
get distance pair for each observations

for(i = 1; i <=N; i++) {
for(j = 1; j<=N; j++) {
if (i!=j){
D[i,j]=
((xcoord[i]-xcoord[j]^2+(ycoord[i]-ycoord[j]^2)^0.5

}
}
}
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```