How do i create a loop that accesses more than one matrix?
1 回表示 (過去 30 日間)
古いコメントを表示
Kirsten du plessis
2015 年 2 月 17 日
コメント済み: Kirsten du plessis
2015 年 2 月 17 日
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?
Thanks!!
0 件のコメント
採用された回答
Yoav Livneh
2015 年 2 月 17 日
編集済み: Yoav Livneh
2015 年 2 月 17 日
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);
end
Hope this is what you meant.
3 件のコメント
Yoav Livneh
2015 年 2 月 17 日
Hmm the code seems to work fine for me. Can you print your X and Y matrices here?
By the way, I made a mistake, you should switch the last two lines to:
X(jj,2) = Y(idx,2);
X(jj,3) = Y(idx,3);
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!