how can transform a matrix into file .txt??

3 views (last 30 days)
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

Accepted Answer

Star Strider
Star Strider on 20 May 2015
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.

More Answers (1)

Christiaan
Christiaan on 20 May 2015
Dear Sarah,
In this link you find the answer for that.
Good luck! Christiaan

Community Treasure Hunt

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

Start Hunting!

Translated by