Find value based on adjacent value condition and insert into new variable
1 回表示 (過去 30 日間)
古いコメントを表示
I have a variable that contains four columns. The first column has increment integers from 0 to 50. The fourth column has some random numbers.
Every number in the fourth column is associated with a number from the first column.
For example, 6.9119 is associated with 0 and -10.6901 to 1.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1119910/image.png)
Now I have another variable where the first column has some integers.
These numbers are also between 0 and 50, but numbers might be repetitive in some rows.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1119915/image.png)
I am looking to fill the second column of this new array with the corresponding value from the fourth column of the first array.
For example, everywhere that there is 0 in the first column, the value 6.9119 should be inserted into the second column.
Your help would be welcome.
0 件のコメント
採用された回答
Akira Agata
2022 年 9 月 8 日
ismember function will be helpful for this task, like:
% Sample matrix
A = [(0:50)', rand(51,1)];
% Second matrix with index only
B = repelem((0:50)', 2);
% Apply ismember
[~, pt] = ismember(B, A(:,1));
% Add corresponding values to B
B = [B, A(pt, 2)];
% Show the result
disp(B)
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!