# merge two matrix based on x and y

6 views (last 30 days)
Marmar on 8 Feb 2019
Answered: Image Analyst on 8 Feb 2019
I have two matrixes one has x and y coordinations in 2 first columns and elevaiton in the third and the other have x and y in 2 first column and temperature in the third column. Some data points may not be available in the other one and they are not in the same order. So I want to merge these two matrixes based on the x and y coordination values means finally I want to get a matrix with x and y for the first two columns and corresponding elevation and temperature for the 3rd and forth matrix.
the order should be like make a forth column for matrixA and add the third column of matrix B to Matrix A if the first and 2nd columns both matches.
ANy help will be apprecuiated
Adam Danz on 8 Feb 2019
Shouldn't this row [1 31 44 0] be this [1 31 44 4] ?
Marmar on 8 Feb 2019
Yes exactly, sorry about that. Any idea for the solution?

Image Analyst on 8 Feb 2019
Sounds like homework. Here's a hint:
data1 = [...13 34 5
14 35 5
1 36 6
2 43 10
3 42 8
5 44 10
6 36 1
7 33 0
8 32 3
1 31 4
9 30 6
5 28 1 ];
% and this is data 2:
data2 = [...
13 34 14
14 35 13
2 43 14
3 42 13
8 32 33
1 31 44
9 30 66
5 28 11]
[commonCoords, in1, in2] = intersect(data1(:, 1:2), data2(:, 1:2), 'rows')