Output of changing number of columns
조회 수: 6 (최근 30일)
이전 댓글 표시
Dear all, I'm running Matlab 2011a,
Here's the situation: I'm using the fprintf function to output the mat.structure into a file. I'm normally using something like
fprintf(out, '%14f %14f %14f %14f', array); this is true for 4 column format,
However in my "mat.structure(i)", the number of columns is changing with (i).
QUESTION: How can I specify a CHANGING format using fprintf? Is there a better function to suite my needs?
Thanks in advance!
댓글 수: 0
답변 (2개)
Niels
2015년 4월 20일
I believe a simple repmat should do the trick:
fprintf(out, repmat('%14f ',[1,size(array,2)]), array);
Stephen23
2015년 4월 20일
편집: Stephen23
2015년 4월 20일
Here are two ways that you can allow for a variable number of columns and also not introduce an extra space character before/after the text:
1. use repmat on the format string, and then shorten it:
>> A = 1:3;
>> fmt = repmat(' %2f',1,size(A,2));
>> fprintf(fmt(2:end),A)
1.000000 2.000000 3.000000>>
2. use two fprintf calls (if more than one column):
>> fprintf('%2f',A(1)), fprintf(' %2f',A(2:end))
1.000000 2.000000 3.000000>>
A naive repmat on the format string will produce a leading/trailing space character.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!