mprint_d.m
来自「计量工具箱」· M 代码 · 共 228 行
M
228 行
% PURPOSE: demo of mprint() % formatted matrix printing % %---------------------------------------------------% USAGE: mprint_d%---------------------------------------------------% use all defaultstst = randn(4,3);fprintf(1,'boring print-out \n');mprint(tst); % demonstrate wrapping at 80/12 = 6 columnstst = randn(4,10); clear in;in.fmt = '%12.2f';in.rflag = 1;fprintf(1,'wrapping demonstration \n');mprint(tst,in); % demonstrate wrapping at 80/20 = 4 columnstst = randn(4,10); clear in;in.fmt = '%20.2f';in.rflag = 1;fprintf(1,'wrapping demonstration \n');mprint(tst,in); % demonstrate decimal format optiontst = round(100*randn(4,3));clear in;in.fmt = '%12d';fprintf(1,'decimal format demo \n');mprint(tst,in);% demonstrate row numbersclear in;in.rflag = 1;fprintf(1,'row #s demonstration \n');mprint(tst,in);% demonstrate column names and row #stst = randn(5,3);cnames = strvcat('col1','col2','col3');clear in;in.cnames = cnames;in.rflag = 1;fprintf(1,'column names with row #s \n');mprint(tst,in);% turn row #'s offin.rflag = 0;fprintf(1,'column names without row #s \n');mprint(tst,in);% demonstrate row labelsclear in;rnames = strvcat('row-header','row1','row2','row3','row4','row5');in.rnames = rnames;fprintf(1,'row lobels with no column headings \n');mprint(tst,in);% demonstrate row and column labelsclear in;rnames = strvcat('rows','row1','row2','row3','row4','row5');in.rnames = rnames;in.cnames = cnames;in.fmt = '%16.8f';fprintf(1,'row lobels and column headings \n');mprint(tst,in);% demonstrate multiple formatsfprintf(1,'different formats for each column \n');tst = randn(5,3);tst(:,3) = round(tst(:,3));fmt = strvcat('%12.3f','%12.3f','%6d');clear in;in.fmt = fmt;mprint(tst,in);% demonstrate multiple formats and colum-row namesfprintf(1,'different formats for each column with cnames,rnames \n');rnames = strvcat('rows','row1','row2','row3','row4','row5');cnames = strvcat('column 1','column 2','col3');tst = randn(5,3);tst(:,3) = round(tst(:,3));fmt = strvcat('%12.3f','%12.3f','%7d');clear in;in.fmt = fmt;in.cnames = cnames;in.rnames = rnames;mprint(tst,in);% demonstrate narrow format adjustmentfprintf(1,'narrow format adjustment demo \n');fprintf(1,'column headings are: ');cnames = strvcat('a123456789','b123456789','c123456789');fprintf(1,'%16s %16s %16s \n',cnames(1,:),cnames(2,:),cnames(3,:)); rnames = strvcat('variables','row1','row2','row3','row4','row5');tst = randn(5,3);fmt = '%6.3f';fprintf(1,'format is: ');fprintf(1,'%16s \n',fmt);clear in;in.fmt = fmt;in.cnames = cnames;in.rnames = rnames;mprint(tst,in);fprintf(1,'which is spread to match wider column headings \n\n');% demonstrate narrow format adjustmentfprintf(1,'narrow format adjustment demo \n');fprintf(1,'column headings are: ');cnames = strvcat('a12345','b12345','c12345');fprintf(1,'%16s %16s %16s \n',cnames(1,:),cnames(2,:),cnames(3,:)); rnames = strvcat('variables','row1','row2','row3','row4','row5');tst = randn(5,3);fmt = strvcat('%6.3f','%9.3f','%12.3f');fprintf(1,'formats are: ');fprintf(1,'%16s %16s %16s \n',fmt(1,:),fmt(2,:),fmt(3,:)); clear in;in.fmt = fmt;in.cnames = cnames;in.rnames = rnames;mprint(tst,in);fprintf(1,'so the 9-wide and 12-wide formats are preserved \n');fprintf(1,'with the column headings right-justified \n\n');% demonstrate what happens with a narrow formatfmt = '%5.2f';fprintf(1,'look what happens with a format = %6s that is narrow \n',fmt);cnames = strvcat('a123456789','b123456789','c123456789');rnames = strvcat('variables','row1','row2','row3','row4','row5');tst = randn(5,3)*100;clear in;in.fmt = fmt;in.cnames = cnames;in.rnames = rnames;mprint(tst,in);fprintf(1,'the #s are spread to accomodate the column headings \n');fprintf(1,'but the # of decimal points are preserved \n\n');% demo more variable format issuesfmt = '%2d';fprintf(1,'suppose we use too narrow of a format like %7s \n',fmt);cnames = strvcat('a123456789','b123456789','c123456789','d123456789');rnames = strvcat('variables','row1','row2','row3','row4','row5');tst = randn(5,4)*10000;fprintf(1,'with large #s \n');tst = round(tst);tstclear in;in.fmt = fmt;in.cnames = cnames;in.rnames = rnames;mprint(tst,in);fprintf(1,'no problem as long as the column headers are wider \n\n');fmt = '%2d';fprintf(1,'but suppose we do not have column headers \n');rnames = strvcat('variables','row1','row2','row3','row4','row5');tst = randn(5,4)*10000;fprintf(1,'with large #s and a too-narrow format \n');tst = round(tst);tstclear in;in.fmt = fmt;in.rnames = rnames;mprint(tst,in);in.fmt = '%8d';fprintf(1,'now we have a problem \n');fprintf(1,'that we must fix by adjusting the format \n');fprintf(1,'to be wider, say %7s \n',in.fmt);in.rnames = rnames;mprint(tst,in);fprintf(1,'which fixes the problem \n\n');fprintf(1,'demo of printing selected rows and columns \n');clear in;table = randn(5,10);in.begc = 5;in.endc = 10;in.begr = 2;in.endr = 5;cnames = strvcat('col1','col2','col3','col4');cnames = strvcat(cnames,'col5','col6','col7','col8','col9','col10');rnames = strvcat('Row-Labels','row1','row2','row3','row4','row5');in.cnames = cnames;in.rnames = rnames;mprint(table,in);fprintf(1,'selected rows and columns with variable formats \n');clear in;table = randn(5,10);in.begc = 5;in.endc = 10;in.begr = 2;in.endr = 5;fmt1 = strvcat('%10.2f','%10.6f','%10.5f','%12.6f','%16.8f');fmt2 = strvcat('%20.2f','%10.6f','%10.5f','%12.6f','%16.8f');in.fmt = strvcat(fmt1,fmt2);cnames = strvcat('col1','col2','col3','col4');cnames = strvcat(cnames,'col5','col6','col7','col8','col9','col10');rnames = strvcat('Row-Labels','row1','row2','row3','row4','row5');in.cnames = cnames;in.rnames = rnames;mprint(table,in);fprintf(1,'selected rows and columns with variable formats and wrapping \n');clear in;table = randn(5,10);in.begc = 3;in.endc = 9;in.begr = 2;in.endr = 5;fmt1 = strvcat('%20.2f','%20.6f','%20.5f','%22.6f','%26.8f');fmt2 = strvcat('%20.2f','%20.6f','%20.5f','%22.6f','%26.8f');in.fmt = strvcat(fmt1,fmt2);cnames = strvcat('col1','col2','col3','col4');cnames = strvcat(cnames,'col5','col6','col7','col8','col9','col10');rnames = strvcat('Row-Labels','row1','row2','row3','row4','row5');in.cnames = cnames;in.rnames = rnames;mprint(table,in);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?