Find value based on adjacent value condition and insert into new variable
2 次查看(过去 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.
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.
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 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!