MATLAB: How do i create a loop that accesses more than one matrix

for loop

I'm relatively new to MATLAB, but I'm trying to create a loop that runs through one column in matrix X, matches the value to another column in matrix Y, and then feeds the corrosponding values in the second and third columns of matrix Y into the second and third columns of matrix X?
I've been trying to use two for loops, however i cant get it to refence the second and thtird columns. How would i go about doing this?

Best Answer

  • Maybe try something like this
    for jj = 1:size(X,1)
    % match 1st column of X to 1st column in Y
    idx = find(X(jj,1) == Y(:,1));
    % put 2nd and 3rd columns in Y into X
    X(idx,2) = Y(idx,2);
    X(idx,3) = Y(idx,3);
    Hope this is what you meant.