How to place values in given column indexes?
3 views (last 30 days)
Show older comments
Hi all I have two cell arrays:
array1 = {[1,4,7,8];[1,2,3,5,6,7,9]}
array2 = {[3;5;6;8],[4;6],[3;5;6;8],5,[],[],[];[1;3;5;6],[2;4],[2;5;7],[3;5],[2;4],[1;3;5;6],[2;4;7]}
Elements of array1 corresponds to elements of array2. i want to store elements of array2 in order given by array1. Like [3;5;6;8] at row1 col1, [4;6] at row1 col4, [3;5;6;8] at row1 col7 and 5 at row 1 col8. elements in between can be filled with NaN or empty braces.
Same for [1,2,3,5,6,7,9], (all elements will be stored at col indexes goven by array1 but at row2.)
result = {[3;5;6;8],[],[],[4;6],[],[],[3;5;6;8],5,[];[1;3;5;6],[2;4],[2;5;7],[],[3;5],[2;4],[1;3;5;6],[],[2;4;7]}
kindly help.
2 Comments
Accepted Answer
Walter Roberson
on 16 Jan 2018
for k = 1 : size(array1, 1)
result(k, array1{k}) = array2(k);
end
Vectorizing this further is not worth the effort.
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!