MATLAB: How can transform a matrix into file .txt?

matrix manipulation file.txt

hello everyone, I have a matrix proba (size :10 * 5).
proba=[0.5 0.3 0.8 0.9 0.8;
0.50 0.36 0.58 0.58 0.98;
0.1 0.25 0.6 0.8 0.9;
0.5 0.3 0.8 0.9 0.8;
0.2 0.9 0.58 0.58 0.69;
0.58 0.14 0.1 0.2 0.3;
0.25 0.9 0.8 0.7 0.5;
0.58 0.69 0.25 0.1 0.1;
0.1 0.25 0.36 0.2 0.3;
0.5 0.3 0.8 0.9 0.8 ];
I want to transform this matrix into a text file (proba.txt) with which the index column is written and the value of the column for each line as follows :
1 0.5 2 0.3 3 0.8 4 0.9 5 0.8
1 0.50 2 0.36 3 0.58 4 0.58 5 0.98
.
.
.
1 0.5 2 0.3 3 0.8 4 0.9 5 0.8
Please I need help, how can I do it?thanks in advance

Best Answer

This will do what you want:
q(:,2:2:size(proba,2)*2) = proba; % Create Output Matrix

q(:,1:2:size(q,2)) = repmat([1:size(proba,2)], size(q,1), 1); % Create Output Matrix
probatxt = sprintf([repmat('% f', 1, size(q,2)) '\n'], q') % Test
fidout = fopen('proba.txt','w');
fprintf(fidout, [repmat('% f', 1, size(q,2)) '\n'], q')
fclose(fidout)
It first creates an intermediate array ‘q’ from ‘proba’ with its elements in alternate columns, then fills the remaining columns with the numbered column indices. (The sprintf call just displays the output as it will appear in the text file, and is not necessary for the code.) It then creates the file and writes to it.