merge two matrix based on x and y

4 views (last 30 days)
Marmar
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
  5 Comments
Adam Danz
Adam Danz on 8 Feb 2019
Shouldn't this row [1 31 44 0] be this [1 31 44 4] ?
Marmar
Marmar on 8 Feb 2019
Yes exactly, sorry about that. Any idea for the solution?

Sign in to comment.

Answers (1)

Image Analyst
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')

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!