How to place values in given column indexes?

2 views (last 30 days)
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
Birdman
Birdman on 16 Jan 2018
What you want is not clear to me.
lucksBi
lucksBi on 16 Jan 2018
@Roberson has given accurate answer for this. Thank You for your time.

Sign in to comment.

Accepted Answer

Walter Roberson
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)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!