Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: How to save a series of vector from a double loop in mata
From
Sergiy Radyakin <[email protected]>
To
"[email protected]" <[email protected]>
Subject
Re: st: How to save a series of vector from a double loop in mata
Date
Mon, 22 Jul 2013 21:26:29 -0400
Preeya, not sure what your program is doing wrong, but here is an
example for Euclidian distance. Simply adjust the formula within the
loop for your case. If this does not help, please let me/us see your
code. Sergiy
clear all
mata
A=10,12\14,23\10,8\5,39
B=20,12\20,23\11,5\5,17
assert(rows(A)==rows(B))
D=J(16,1,.)
for(i=1;i<=4;i++) {
for(j=1;j<=4;j++) {
D[(i-1)*4+j,1]=sqrt( (A[i,1]-B[j,1])^2 + (A[i,2]-B[j,2])^2)
}
}
D
end
1
+---------------+
1 | 10 |
2 | 14.86606875 |
3 | 7.071067812 |
4 | 7.071067812 |
5 | 12.52996409 |
6 | 6 |
7 | 18.24828759 |
8 | 10.81665383 |
9 | 10.77032961 |
10 | 18.02775638 |
11 | 3.16227766 |
12 | 10.29563014 |
13 | 30.88689042 |
14 | 21.9317122 |
15 | 34.525353 |
16 | 22 |
+---------------+
On Mon, Jul 22, 2013 at 8:29 PM, Preeya Mohan
<[email protected]> wrote:
> Dear Statalisters,
>
> I am having a problem saving a series of vectors from a double loop using mata. I am working with Stata 12.1 for Windows.
>
> I calculate distance between two locations using the haversine formula from a double loop in mata. Let's call the two locations location A and B. I create two matrices A and B each containing the latitude and longitude coordinates. For each A location, I calculate out the distance to each B location, that is, if each A and B matrix contain 4 rows each in the end I should get 16 distances calculated as shown below. Each time the loop runs however 4 column vectors are created containing only 4 distances each and I can only save the last vector. I would however like to store each vector into one large matrix with all 16 distances.
>
> Thank you for your time in reading this.
>
> A B distance
> 1 1
> 1 2
> 1 3
> 1 4
> 2 1
> 2 2
> 2 3
> 2 4
> 3 1
> 3 2
> 3 3
> 3 4
> 4 1
> 4 2
> 4 3
> 4 4
>
>
> Yours,
> Preeya
> *
> * For searches and help try:
> * http://www.stata.com/help.cgi?search
> * http://www.stata.com/support/faqs/resources/statalist-faq/
> * http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/