MATLAB: How to merge data

merge data

Suppose I have two matrices,
X= [1991 1 3 3 1;
1992 5 6 6 5;
1993 9 9 9 9;
1991 2 2 2 2;
1992 6 6 6 6;
1993 8 8 8 8;
1991 4 4 4 4;
1992 6 6 6 6]
and
Y= [1991 7 7 7 7;
1992 8 8 8 8;
1993 9 9 9 9].
How could I get a matric like
Z= [1991 1 3 3 1 7 7 7 7;
1992 5 6 6 5 8 8 8 8;
1993 9 9 9 9 9 9 9 9;
1991 2 2 2 2 7 7 7 7;
1992 6 6 6 6 8 8 8 8;
1993 8 8 8 8 9 9 9 9;
1991 4 4 4 4 7 7 7 7;
1992 6 6 6 6 8 8 8 8]
Thank you very much.

Best Answer

X= [1991 1 3 3 1;
1992 5 6 6 5;
1993 9 9 9 9;
1991 2 2 2 2;
1992 6 6 6 6;
1993 8 8 8 8;
1991 4 4 4 4;
1992 6 6 6 6] ;
Y= [1991 7 7 7 7;
1992 8 8 8 8;
1993 9 9 9 9] ;
Z1 = [] ;
for i = 1:size(X,1)
idx = find(X(i,1) == Y(:,1)) ;
Z1(i,:) = [X(i,:) Y(idx,2:end)] ;
end
PS: Z1 is not initialized, so it will be time consuming. A temporary solution.