私はテーブルとして印刷したいセルアレイ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