How to fill arrays third column by matching first 2 columns
    조회 수: 4 (최근 30일)
  
       이전 댓글 표시
    
Dear all,
I have 2 arrays namely A & B.
A is 30 x 3 array with 3rd column zero.
B is 15 x 3 array with the result value in the 3rd column.
I want to fill the 3rd column of A by matching the first 2 columns with B.
for example,
A=[1           5           0;
      1          12           0;
      4           5           0;
      4           9           0;
      7           8           0;
      8           2           0;
      9          13           0];
B = [1           5        2740;
        1          12          10;
        8          2        1500;
        7           8         750];
I want to get the array A's 3rd column filled with the values by comparing B.
results like,
A = [1           5           2740;
      1          12           10;
      4           5           0;
      4           9           0;
      7           8           750;
      8           2           1500;
      9          13           0];
Please suggest me a code for doing this for the larger size of array.
Thank you in advance.
댓글 수: 0
채택된 답변
  KSSV
      
      
 2022년 10월 19일
        A=[1           5           0;
      1          12           0;
      4           5           0;
      4           9           0;
      7           8           0;
      8           2           0;
      9          13           0];
B = [1           5        2740;
        1          12          10;
        8          2        1500;
        7           8         750];
F = scatteredInterpolant(B(:,1),B(:,2),B(:,3)) ;
A(:,3) = F(A(:,1),A(:,2)) ;
A
댓글 수: 3
  KSSV
      
      
 2022년 10월 19일
				A=[1           5           0;
      1          12           0;
      4           5           0;
      4           9           0;
      7           8           0;
      8           2           0;
      9          13           0];
B = [1           5        2740;
        1          12          10;
        8          2        1500;
        7           8         750];
[c,ia] = ismember(B(:,1:2),A(:,1:2),'rows','legacy') ;
A(ia,3) = B(:,3)
추가 답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Operators and Elementary Operations에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

