Info
此问题已关闭。 请重新打开它进行编辑或回答。
array operation for merging two arrays
1 次查看(过去 30 天)
显示 更早的评论
data_1=[10;20;30;40];
data_2=[40;10];
data_3=[11;12];
for i=1:numel(data_2)
idx(i)=find(data_2(i)==data_1);
end
I need to merge data_2 and data_3 w.r.t idx array as follows;
merged_data=[10;11;12;40];
idx ([4 1]) determines the row number of 40 and 10 (data_2) within merged_data. Other row of the merged_data belongs to data_3.
data_2 and data_1 arrays always share at least 2 numbers. I need to merge data_2 and data_3 as an automatic way, keeping the order of rows w.r.t idx.
2 个评论
Azzi Abdelmalek
2016-5-20
Duplicate question here: http://www.mathworks.com/matlabcentral/answers/284994-adding-rows-to-array-with-order
采纳的回答
Andrei Bobrov
2016-5-20
编辑:Andrei Bobrov
2016-5-20
union(intersect(data_1,data_2),data_3)
or
merge_data = data_1
merge_data(~ismember(merge_data,data_2)) = data_3
1 个评论
更多回答(0 个)
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!