0001 function AB=unioncell(A,colA,B,colB)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 [rlt,clt]=size(A);
0017 [rlt2,clt2]=size(B);
0018
0019
0020 AB=cell(rlt,clt+clt2);
0021
0022 for r=1:rlt
0023 match=0;
0024 for r2=1:rlt2
0025 if strncmp(A{r,colA},B{r2,colB},length(B{r2,colB}))
0026 for c=1:clt
0027 AB{r,c}=A{r,c};
0028 end
0029 for c2=1:clt2
0030 AB{r,c+c2}=B{r2,c2};
0031 end
0032 match=1;
0033 else
0034 for c=1:clt
0035 AB{r,c}=A{r,c};
0036 end
0037 end
0038 end
0039 if match==0
0040 fprintf('%s\n',['No match: ' int2str(r) ' ' A{r,colA}]);
0041 end
0042 end