셀 배열 A가 있습니다. 테이블로 인쇄하려고합니다. 첫 번째 열과 첫 번째 행은 머리글입니다. 예를 들어 나는Matlab에서 구분 기호로 행을 채우는 방법
A:
1 2 3
4 5 6
7 8 9
을 그리고 출력은 다음과 같이 할 :
A:
1 ||2 |3
-------------
4 ||5 |6
7 ||8 |9
수직 막대는 문제가되지 않습니다. 나는 수평선을 출력하는 방법을 모른다. 더 유연해야하며 disp('-------')
이어야합니다. 내 셀의 문자열이 얼마나 큰지에 따라 크기가 조정되어야합니다.
지금까지 정적 문자열 '-----'을 표시하는 추악한 방법 만 구현했습니다.
function [] = dispTable(table)
basicStr = '%s\t| ';
fmt = strcat('%s\t||',repmat(basicStr,1,size(table,2)-1),'\n');
lineHeader = '------';
%print first line as header:
fprintf(1,fmt,table{1,:});
disp(lineHeader);
fprintf(1,fmt,table{2:end,:});
end
도움을 주시면 감사하겠습니다. 감사!
탭을 사용하고 공간의 탭 너비가 컴퓨터마다 다양하기 때문에 힘들어집니다. 고정 너비 필드 대신'sprintf'를 사용하는 것이 좋습니다. – Suever