matrix concatenation
조회 수: 3 (최근 30일)
이전 댓글 표시
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?
댓글 수: 0
채택된 답변
Walter Roberson
2012년 2월 21일
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
Walter Roberson
2012년 2월 21일
Sorry, dropped an important parameter. I have edited it in to the above.
추가 답변 (1개)
Sean de Wolski
2012년 2월 21일
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
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.
참고 항목
카테고리
Help Center 및 File Exchange에서 Cell Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!