MATLAB: Merging two matrices where they have the same data in 1st column

arraycellcolumndatefirstMATLABmatricesmatrixmergesamevalue

I have 2 cell matrices that are set up as below;
A
01/01/16, 21, 32, 43
03/01/16, 22, 33, 44
05/01/16, 23, 34, 45
B
01/01/16, 0, 0, 0
02/01/16, 0, 0, 0
03/01/16, 0, 0, 0
04/01/16, 0, 0, 0
05/01/16, 0, 0, 0
And I would like to merge them such that if the two matrices have a date in common then the corresponding row from matrix A is copied to matrix B. Whilst dates not in common are left with 0 values to make an output C;
C
01/01/16, 21, 32, 43
02/01/16, 0, 0, 0
03/01/16, 22, 33, 44
04/01/16, 0, 0, 0
05/01/16, 23, 34, 45
I'm not very sure how to go about doing this so any help would be greatly appreciated.

Best Answer

A={'01/01/16', 21, 32, 43
'03/01/16', 22, 33, 44
'05/01/16', 23, 34, 45}
B={'01/01/16', 0, 0, 0
'02/01/16', 0, 0, 0
'03/01/16', 0, 0, 0
'04/01/16', 0, 0, 0
'05/01/16', 0, 0, 0}
C=B
idx1=ismember(B(:,1),A(:,1))
idx=ismember(A(:,1),B(:,1))
C(idx1,:)=A(idx,:)