Столбцы 1 и 2 всегда будут иметь один и тот же шаблон, а третий столбец представляет собой просто сложенный столбец строк, поэтому следующее должно работать. Я разобрал его шаг за шагом, но уверен, что его можно сократить до меньшего количества строк:
>> a = [1, 2, 3; 11, 12, 13; 21, 22, 23];
>> [r, c] = size(a);
r = 3
c = 3
>> col1 = repelem([1:r]',c)
col1 =
1
1
1
2
2
2
3
3
3
>> col2 = repmat([1:c]',r,1)
col2 =
1
2
3
1
2
3
1
2
3
>> col3 = a'(:)
col3 =
1
2
3
11
12
13
21
22
23
>> output = [col1, col2, col3]
output =
1 1 1
1 2 2
1 3 3
2 1 11
2 2 12
2 3 13
3 1 21
3 2 22
3 3 23
, тогда есть пара вариантов, как его сохранить. возможно, самый простой:
>> dlmwrite ('filename.csv', output)