У меня есть массив ячеек 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