2017-10-26 1 views
0

안녕하세요,MATLAB은 같은 줄의 숫자 사이에 일정한 간격을 만듭니다.

저는 내장 함수가 있지만 찾을 수 없습니다. MATLAB에서 텍스트 문서로 보내지는 정보에 대한 정적 위치 지정을 만들고 싶습니다. 예를 들어 길이가 다른 번호를 가진 것은과 같이, 오프로 정렬을 일으키는 경우 현재

height   weight   age   favorite number 
------------------------------------------------------------  
60    140    24   9 
30    45    3   10000000 
48    100    9   19 
9    7    1   1 

, 난 그냥 패딩 공간과 fprint 통화를하고 있어요 것은 줄 수 있지만, 문제가 발생합니다 :

height   weight   age   favorite number 
------------------------------------------------------------  
60    140    24   9 
30    45    3   10000000 
48    100    9   19 
1    7    1   1 

미리 감사드립니다.

fid1 = fopen('stackoverflowtest', 'w'); 
if fid1 < 3, 
    error('ERROR'); 
end; 

fprintf(fid1, 'height   weight   age   favorite number \n'); 
fprintf(fid1, '------------------------------------------------------------ \n'); 

height = 0; 
weight = 10; 
age = 100; 
number = 3; 

for i = 1:100 
    fprintf(fid1, "%d    ', height); 
    fprintf(fid1, "%d    ', weight); 
    fprintf(fid1, "%d   ', age); 
    fprintf(fid1, "%d \n", number); 

    height = height + 3; 
    weight = weight + 6; 
    age = age - 1; 
    number = number + 23; 
end 
+1

코드 스 니펫을 표시해 주시면 작업 내용을 알 수 있습니다. – frslm

+0

정확한 코드를 제공 할 수 없기 때문에 내 원래 예제와 동일한 스타일을 유지하는 예제 스크립트를 추가했지만 개념은 동일합니다. –

답변

0

당신은 예를 %-15d를 들어, fprintf format specification하여이 작업을 수행 할 수 있습니다

여기 무슨 뜻인지 보여 드리죠 예제 스크립트입니다.

여기에서 -은 왼쪽 정렬을 지정하는 플래그이고 15은 표시 주위에 남겨 둘 간격을 지정합니다. 당신은 table으로이 데이터를 저장할 수 있습니다 : 화면 할

height = A(:,1) 
weight = A(:,2); 
age = A(:,3); 
favourite_number = A(:,4); 
tab1 = table(height, weight, age, favourite_number); 
disp(tab1); 

이 인쇄

우리는

height   weight   age   favorite number 
------------------------------------------------------------ 
60    140    24   9    
30    45    3   10000000   
48    100    9   19    
9    7    1   1 

EDIT를 표시

A = [60 140 24 9 
    30 45 3 10000000 
    48 100 9 19 
    9 7 1 1]; 
fprintf('height   weight   age   favorite number \n'),... 
fprintf('------------------------------------------------------------ \n'),... 
fprintf('%-15d %-15d %-12d %-15d \n',A') 

로 예를 재현 할 수 있습니다

height weight age favourite_number 
______ ______ ___ ________________ 

60  140  24   9   
30   45  3  1e+07   
48  100  9  19   
9   7  1   1  

하지만이 표현을 파일에 저장하는 방법을 모르겠습니다.

+0

감사합니다. 적용 할 수있는 정당성이 있다는 것을 알았습니다. 그것을 찾으십시오. –

관련 문제