MATLAB: How to place values in given column indexes

MATLAB

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.

Best Answer

for k = 1 : size(array1, 1)
result(k, array1{k}) = array2(k);
end
Vectorizing this further is not worth the effort.