[Octave-cvsupdate] SF.net SVN: octave:[6651]
trunk/octave-forge/extra/control-oo/inst/@ss/ display.m
From: <par...@us...> - 2009-12-16 08:57:33
|
Revision: 6651 http://octave.svn.sourceforge.net/octave/?rev=6651&view=rev Author: paramaniac Date: 2009-12-16 08:57:25 +0000 (Wed, 16 Dec 2009) Log Message: ----------- control-oo: fix display for large state-space systems Modified Paths: -------------- trunk/octave-forge/extra/control-oo/inst/@ss/display.m Modified: trunk/octave-forge/extra/control-oo/inst/@ss/display.m =================================================================== --- trunk/octave-forge/extra/control-oo/inst/@ss/display.m 2009-12-15 18:28:29 UTC (rev 6650) +++ trunk/octave-forge/extra/control-oo/inst/@ss/display.m 2009-12-16 08:57:25 UTC (rev 6651) @@ -88,16 +88,21 @@ endfor lcols = cellfun ("size", mat, 2); - lcols_max = 2 + max (lcols); + lcols_max = 2 + max (horzcat (lcols, 1)); for k = 1 : mcols mat{k} = horzcat (repmat (" ", mrows+1, lcols_max-lcols(k)), mat{k}); endfor - mat = horzcat (row_name, mat{:}); + tsize = terminal_size (); + dispcols = max (1, floor ((tsize(2) - columns (row_name)) / lcols_max)); + disprows = max (1, ceil (mcols / dispcols)); disp ([mname, " ="]); - disp (mat); - disp (""); + for k = 1 : disprows + disp (horzcat (row_name, mat{1+(k-1)*dispcols : min (mcols, k*dispcols)})); + disp (""); + endfor + endfunction \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |