How to fill arrays third column by matching first 2 columns
    4 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Muthukannan
 am 19 Okt. 2022
  
    
    
    
    
    Kommentiert: Muthukannan
 am 19 Okt. 2022
            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 Kommentare
Akzeptierte Antwort
  KSSV
      
      
 am 19 Okt. 2022
        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 Kommentare
  KSSV
      
      
 am 19 Okt. 2022
				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)
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

