I need to create a text file with 3 columns. first two columns are of the same size, 100. The 3rd column just has one number in it. How can I do that?

 採用された回答

Walter Roberson
Walter Roberson 2012 年 2 月 21 日

1 投票

With col1, col2, and col3 being column vectors:
fmt = ['%f %f %f\n' repmat('%f %f\n', 1, 99)];
fid = fopen('YourOutputFile.txt', 'wt');
fprintf(fid, fmt, col1(1), col2(1), col3(1), [col1(2:end), col2(2:end)].');
fclose(fid);
Warning: the details of the fprintf() call depend upon col1 and col2 being column vectors!

4 件のコメント

Baba
Baba 2012 年 2 月 21 日
getting an error in 3rd line of your code
I created col3, as col3=[1]
set first two column vectors to col1 and col2
Baba
Baba 2012 年 2 月 21 日
and the txt file is saved as blank
Walter Roberson
Walter Roberson 2012 年 2 月 21 日
Sorry, dropped an important parameter. I have edited it in to the above.
Baba
Baba 2012 年 2 月 21 日
Perfect thank you!

サインインしてコメントする。

その他の回答 (1 件)

Sean de Wolski
Sean de Wolski 2012 年 2 月 21 日

0 投票

Do you want the third column to have 100 values the same?
If so:
A = [c1,c2,repmat(c3,100,1)];
If not:
A = [{c1} {c2} {c3}]
for more info:
doc cell

3 件のコメント

Baba
Baba 2012 年 2 月 21 日
yep, 3rd column should only have 1 value in it. I'm having trouble writing A to a txt file using a dlmwrite command.
Baba
Baba 2012 年 2 月 21 日
that one value should not repeat, just appear in the first row.
Walter Roberson
Walter Roberson 2012 年 2 月 21 日
In order to do it with dlmwrite(), you would have to make two dlmwrite() calls, with the second using the -append option.

サインインしてコメントする。

質問済み:

2012 年 2 月 21 日

編集済み:

2013 年 10 月 19 日

Community Treasure Hunt

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

Start Hunting!

Translated by