home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / l / l455 / 2.ddi / MUTOOLS1.DI$ / SEESYS.M < prev    next >
Encoding:
Text File  |  1993-03-11  |  1.9 KB  |  79 lines

  1. % function seesys(mat,form)
  2. %
  3. %   Uses MATLAB function FPRINTF to print real part of matrices. 
  4. %   Primarily intended for printing system matrices.
  5. %     inputs
  6. %            MAT   - matrix to be printed
  7. %            FORM  - format, see MATLAB manual for SPRINTF and FPRINTF
  8. %
  9. %   See also: DISP, FPRINTF, GETIV, MPRINTF, SEE, SEEIV, 
  10. %             SORTIV,and SPRINTF.
  11.  
  12. function seesys(mat,form,formw)
  13. %
  14.  if nargin == 0 
  15.    disp(['usage: seesys(mat,form,formw)']);
  16.    return
  17.   elseif nargin ==1
  18.    form = '%.1e ';
  19.  end
  20. % echo on
  21.  
  22. [mtype,mrows,mcols,mnum] = minfo(mat);
  23.  
  24. if mtype=='cons'
  25.     mprintf(mat,form)
  26. elseif mtype=='syst'
  27.     i1 = [1 mnum+1]; i2 = [mnum mnum+mrows];
  28.     fprintf('\n'); 
  29.     str=[];str1=[];str2=[];
  30.     for ii = 1:2
  31.     str=[str1 str2];
  32.     if length(str) > 0, fprintf(str); end;
  33.     for i = i1(ii):i2(ii)
  34.         str = [];
  35.         for j = 1:mnum
  36.             str = [str seesub(mat(i,j),form)];
  37.         end
  38.         str1=[ setstr('-'*ones(1,length(str)+1)) '|'];
  39.         str = [str ' | ' ];
  40.         for j = (mnum+1) : (mnum+mcols)
  41.             str = [str seesub(mat(i,j),form)];
  42.         end
  43.         fprintf([str '\n'])
  44.         str2 = [ setstr('-'*ones(1,length(str)-length(str1)-1)) '\n'];
  45.     end
  46.     end
  47. elseif mtype == 'vary'
  48.    if nargin <= 2 
  49.      formw = '%g ';
  50.    end
  51.    [nr,nc] = size(mat);
  52.    place = 1;
  53.    omega = mat(1:mnum,nc);
  54.    if mrows > 1
  55.      if mcols > 1
  56.        fprintf('%.0f rows  %.0f columns\n',mrows,mcols)
  57.      else
  58.        fprintf('%.0f rows  %.0f column\n',mrows,mcols)
  59.      end
  60.    else
  61.      if mcols > 1
  62.        fprintf('%.0f row  %.0f columns\n',mrows,mcols)
  63.      else
  64.        fprintf('%.0f row  %.0f column\n',mrows,mcols)
  65.      end
  66.    end
  67.    fprintf('\n')
  68.    for i=1:mnum
  69.      fprintf(['iv  = ' formw '\n'],omega(i))
  70.      mprintf(mat(place:place+mrows-1,1:mcols),form)
  71.      place = place + mrows;
  72.      fprintf('\n');
  73.    end
  74.  
  75. end
  76. fprintf('\n')
  77. %
  78. % Copyright MUSYN INC 1991,  All Rights Reserved
  79.