home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 172.lha / help.lis < prev    next >
File List  |  1988-04-28  |  62KB  |  775 lines

  1. Appendix.  The HELP document                                                    
  2.                                                                                 
  3. NEWS  MATLAB NEWS dated 8/5/88 .                                               
  4.       MATLAB has been ported to the Amiga in August 1988.  This is a 
  5.       straight port of VAX FORTRAN source with no enhancements.  Possible 
  6.       Amiga enhancements (depending upon how many folks are interested)
  7.       include Workbench startup and a greatly enhanced PLOT function.
  8.       I dunno...maybe.
  9.       
  10.       If you would like a copy of MATLAB source and the users guide,
  11.       send a 3.5 disk and $5.00 american to:
  12.  
  13.                   Jim Locker
  14.                   4443 N. Hyland Ave.
  15.                   Dayton Oh 45424
  16.  
  17.       You aren't paying me for developing the stuff (I didn't...Argonne
  18.       National Labs did. I just ported it), you are paying for postage
  19.       and the cost of copying the manual.
  20.                                                                           
  21. INTRO Welcome to MATLAB.                                                        
  22.                                                                                 
  23.       Here are a few sample statements:                                         
  24.                                                                                 
  25.       A = <1 2; 3 4>                                                            
  26.       b = <5 6>'                                                                
  27.       x = A\b                                                                   
  28.       <V,D> = eig(A),  norm(A-V*D/V)                                            
  29.       help \ , help eig                                                         
  30.       exec('demo',7)                                                            
  31.                                                                                 
  32.       For more information, see the MATLAB Users' Guide which  is               
  33.       contained in file ...  or may be obtained from Jim Locker.
  34.       See the HELP NEWS section.                      
  35.                                                                                 
  36. HELP  HELP gives assistance.                                                    
  37.       HELP HELP obviously prints this message.                                  
  38.       To see all the HELP messages, list the file ... .                         
  39.                                                                                 
  40. <     < > Brackets used in forming vectors and matrices.                        
  41.       <6.9  9.64  SQRT(-1)>  is  a  vector  with  three  elements               
  42.       separated  by  blanks.   <6.9,  9.64, sqrt(-1)> is the same               
  43.       thing.  <1+I 2-I 3>  and  <1 +I 2 -I 3>  are not the  same.               
  44.       The first has three elements, the second has five.                        
  45.       <11 12 13; 21 22 23>  is a 2 by 3 matrix .   The  semicolon               
  46.       ends the first row.                                                       
  47.                                                                                 
  48.       Vectors and matrices can be used inside < > brackets.                     
  49.       <A B; C>  is allowed if the number of rows  of   A   equals               
  50.       the  number  of rows of  B  and the number of columns of  A               
  51.       plus the number of columns of   B   equals  the  number  of               
  52.       columns  of   C  .   This  rule  generalizes in a hopefully               
  53.       obvious way to allow fairly complicated constructions.                    
  54.                                                                                 
  55.       A = < >  stores an empty matrix in  A , thereby removing it               
  56.       from the list of current variables.                                       
  57.                                                                                 
  58.       For the use of < and > on the left of  the  =  in  multiple               
  59.       assignment statements, see LU, EIG, SVD and so on.                        
  60.                                                                                 
  61.       In WHILE and IF clauses, <>  means  less  than  or  greater               
  62.       than,  i.e.  not  equal, < means less than, > means greater               
  63.       than, <= means less than or equal, >= means greater than or               
  64.       equal.                                                                    
  65.                                                                                 
  66.       For the use of > and < to delineate macros, see MACRO.                    
  67.                                                                                 
  68. >     See < .  Also see MACRO.                                                  
  69.                                                                                 
  70. (     ( ) Used to indicate precedence in  arithmetic  expressions               
  71.       in  the  usual way.  Used to enclose arguments of functions               
  72.       in the usual way.  Used to enclose  subscripts  of  vectors               
  73.       and  matrices  in  a  manner somewhat more general than the               
  74.       usual way.  If  X   and   V  are  vectors,  then   X(V)  is               
  75.       <X(V(1)),  X(V(2)),  ...,  X(V(N))> .  The components of  V               
  76.       are rounded to nearest integers and used as subscripts.  An               
  77.       error  occurs  if  any  such  subscript  is  less than 1 or               
  78.       greater than the dimension of  X .  Some examples:                        
  79.       X(3)  is the third element of  X .                                        
  80.       X(<1 2 3>)  is the first three elements of  X .  So is                    
  81.       X(<SQRT(2), SQRT(3), 4*ATAN(1)>)  .                                       
  82.       If  X  has  N  components,  X(N:-1:1) reverses them.                      
  83.       The same indirect subscripting is used in matrices.  If   V               
  84.       has   M  components and  W  has  N  components, then A(V,W)               
  85.       is the  M by N  matrix formed from the elements of A  whose               
  86.       subscripts are the elements of  V  and  W .  For example...               
  87.       A(<1,5>,:) = A(<5,1>,:)  interchanges rows 1 and 5 of  A .                
  88.                                                                                 
  89. )     See  ( .                                                                  
  90.                                                                                 
  91. =     Used in assignment statements and to mean equality in WHILE               
  92.       and IF clauses.                                                           
  93.                                                                                 
  94. .     Decimal point.  314/100, 3.14  and   .314E1   are  all  the               
  95.       same.                                                                     
  96.                                                                                 
  97.       Element-by-element multiplicative operations  are  obtained               
  98.       using  .*  ,  ./  , or .\ .  For example, C = A ./ B is the               
  99.       matrix with elements  c(i,j) = a(i,j)/b(i,j) .                            
  100.                                                                                 
  101.       Kronecker tensor products and quotients are  obtained  with               
  102.       .*. , ./.  and .\. .  See KRON.                                           
  103.                                                                                 
  104.       Two or  more  points  at  the  end  of  the  line  indicate               
  105.       continuation.    The   total  line  length  limit  is  1024               
  106.       characters.                                                               
  107.                                                                                 
  108. ,     Used to separate matrix subscripts and function  arguments.               
  109.       Used  at  the  end  of  FOR, WHILE and IF clauses.  Used to               
  110.       separate statements  in  multi-statement  lines.   In  this               
  111.       situation,  it  may  be  replaced  by semicolon to suppress               
  112.       printing.                                                                 
  113.                                                                                 
  114. ;     Used inside brackets to end rows.                                         
  115.       Used after an expression or statement to suppress printing.               
  116.       See SEMI.                                                                 
  117.                                                                                 
  118. \     Backslash or matrix left division.   A\B   is  roughly  the               
  119.       same  as   INV(A)*B  , except it is computed in a different               
  120.       way.  If  A  is an N by N matrix and  B  is a column vector               
  121.       with  N  components, or a matrix with several such columns,               
  122.       then X = A\B  is the solution to  the  equation   A*X  =  B               
  123.       computed  by  Gaussian  elimination.   A warning message is               
  124.       printed if  A is badly scaled or nearly singular.                         
  125.       A\EYE produces the inverse of  A .                                        
  126.                                                                                 
  127.       If  A  is an  M by N  matrix with  M < or > N  and  B  is a               
  128.       column vector with  M  components, or a matrix with several               
  129.       such columns, then  X = A\B  is the solution in  the  least               
  130.       squares  sense  to  the under- or overdetermined system  of               
  131.       equations A*X = B .  The  effective  rank,  K,  of   A   is               
  132.       determined  from  the  QR  decomposition  with pivoting.  A               
  133.       solution  X  is  computed  which  has  at  most  K  nonzero               
  134.       components  per column.  If  K < N this will usually not be               
  135.       the same solution as PINV(A)*B .                                          
  136.       A\EYE produces a generalized inverse of  A .                              
  137.                                                                                 
  138.       If A and B have the  same  dimensions,  then  A  .\  B  has               
  139.       elements a(i,j)\b(i,j) .                                                  
  140.                                                                                 
  141.       Also, see EDIT.                                                           
  142.                                                                                 
  143. /     Slash or matrix right division.  B/A  is roughly  the  same               
  144.       as  B*INV(A) .  More precisely,  B/A = (A'\B')' .  See \ .                
  145.                                                                                 
  146.       IF A and B have the  same  dimensions,  then  A  ./  B  has               
  147.       elements a(i,j)/b(i,j) .                                                  
  148.                                                                                 
  149.       Two or more slashes together on a line indicate  a  logical               
  150.       end of line.  Any following text is ignored.                              
  151.                                                                                 
  152. '     Transpose.  X'  is the complex conjugate transpose of  X  .               
  153.       Quote.   'ANY  TEXT'   is a vector whose components are the               
  154.       MATLAB internal codes for the characters.  A  quote  within               
  155.       the text is indicated by two quotes.  See DISP and FILE .                 
  156.                                                                                 
  157. +     Addition.  X + Y .  X and Y must have the same dimensions.                
  158.                                                                                 
  159. -     Subtraction.  X  -  Y  .   X  and  Y  must  have  the  same               
  160.       dimensions.                                                               
  161.                                                                                 
  162. *     Matrix multiplication, X*Y .  Any scalar (1  by  1  matrix)               
  163.       may multiply anything.  Otherwise, the number of columns of               
  164.       X must equal the number of rows of Y .                                    
  165.                                                                                 
  166.       Element-by-element multiplication is obtained with X .* Y .               
  167.                                                                                 
  168.       The Kronecker tensor product is denoted by X .*. Y .                      
  169.                                                                                 
  170.       Powers.  X**p  is  X  to the   p   power.   p   must  be  a               
  171.       scalar.  If  X  is a matrix, see  FUN .                                   
  172.                                                                                 
  173. :     Colon.  Used in subscripts,  FOR  iterations  and  possibly               
  174.       elsewhere.                                                                
  175.       J:K  is the same as  <J, J+1, ..., K>                                     
  176.       J:K  is empty if  J > K .                                                 
  177.       J:I:K  is the same as  <J, J+I, J+2I, ..., K>                             
  178.       J:I:K  is empty if  I > 0 and J > K or if I < 0 and J < K .               
  179.       The colon notation can be used to pick out  selected  rows,               
  180.       columns and elements of vectors and matrices.                             
  181.       A(:)  is all the  elements  of  A,  regarded  as  a  single               
  182.       column.                                                                   
  183.       A(:,J)  is the  J-th  column of A                                         
  184.       A(J:K)  is  A(J),A(J+1),...,A(K)                                          
  185.       A(:,J:K)  is  A(:,J),A(:,J+1),...,A(:,K) and so on.                       
  186.       For the use of the colon in the FOR statement, See FOR .                  
  187.                                                                                 
  188. ABS   ABS(X)  is the absolute value, or complex modulus,  of  the               
  189.       elements of X .                                                           
  190.                                                                                 
  191. ANS   Variable created automatically  when  expressions  are  not               
  192.       assigned to anything else.                                                
  193.                                                                                 
  194. ATAN  ATAN(X)  is the arctangent of  X .  See FUN .                             
  195.                                                                                 
  196. BASE  BASE(X,B) is a vector containing the base B  representation               
  197.       of   X  .   This is often used in conjunction with DISPLAY.               
  198.       DISPLAY(X,B)  is  the  same  as  DISPLAY(BASE(X,B)).    For               
  199.       example,    DISP(4*ATAN(1),16)   prints   the   hexadecimal               
  200.       representation of pi.                                                     
  201.                                                                                 
  202. CHAR  CHAR(K)  requests  an  input  line  containing   a   single               
  203.       character  to  replace  MATLAB  character  number  K in the               
  204.       following table.  For example, CHAR(45) replaces backslash.               
  205.       CHAR(-K) replaces the alternate character number K.                       
  206.                                                                                 
  207.                 K  character alternate name                                     
  208.               0 - 9   0 - 9    0 - 9   digits                                   
  209.              10 - 35  A - Z    a - z   letters                                  
  210.                36                      blank                                    
  211.                37       (        (     lparen                                   
  212.                38       )        )     rparen                                   
  213.                39       ;        ;     semi                                     
  214.                40       :        |     colon                                    
  215.                41       +        +     plus                                     
  216.                42       -        -     minus                                    
  217.                43       *        *     star                                     
  218.                44       /        /     slash                                    
  219.                45       \        $     backslash                                
  220.                46       =        =     equal                                    
  221.                47       .        .     dot                                      
  222.                48       ,        ,     comma                                    
  223.                49       '        "     quote                                    
  224.                50       <        [     less                                     
  225.                51       >        ]     great                                    
  226.                                                                                 
  227. CHOL  Cholesky factorization.  CHOL(X)  uses  only  the  diagonal               
  228.       and upper triangle of  X .  The lower triangular is assumed               
  229.       to be the (complex conjugate) transpose of the  upper.   If               
  230.       X   is  positive  definite,  then  R = CHOL(X)  produces an               
  231.       upper triangular  R  so that  R'*R = X .   If   X   is  not               
  232.       positive definite, an error message is printed.                           
  233.                                                                                 
  234. CHOP  Truncate arithmetic.  CHOP(P) causes P places to be chopped               
  235.       off   after   each   arithmetic   operation  in  subsequent               
  236.       computations.  This means  P  hexadecimal  digits  on  some               
  237.       computers  and  P octal digits on others.  CHOP(0) restores               
  238.       full precision.                                                           
  239.                                                                                 
  240. CLEAR Erases all variables, except EPS, FLOP, EYE and RAND.                     
  241.       X = <>  erases only variable  X .  So does CLEAR X .                      
  242.                                                                                 
  243. COND  Condition number in 2-norm.  COND(X) is the  ratio  of  the               
  244.       largest singular value of  X  to the smallest.                            
  245.                                                                                 
  246. CONJG CONJG(X)  is the complex conjugate of  X .                                
  247.                                                                                 
  248. COS   COS(X)  is the cosine of  X .  See FUN .                                  
  249.                                                                                 
  250. DET   DET(X)  is the determinant of the square matrix  X .                      
  251.                                                                                 
  252. DIAG  If  V  is  a  row  or  column  vector  with  N  components,               
  253.       DIAG(V,K)   is a square matrix of order  N+ABS(K)  with the               
  254.       elements of  V  on the K-th diagonal.  K = 0  is  the  main               
  255.       diagonal,  K  >  0  is above the main diagonal and K < 0 is               
  256.       below the main diagonal.  DIAG(V)  simply puts  V   on  the               
  257.       main diagonal.                                                            
  258.       eg. DIAG(-M:M) + DIAG(ONES(2*M,1),1) + DIAG(ONES(2*M,1),-1)               
  259.       produces a tridiagonal matrix of order 2*M+1 .                            
  260.       IF  X  is a matrix,  DIAG(X,K)  is a column  vector  formed               
  261.       from the elements of the K-th diagonal of  X .                            
  262.       DIAG(X)  is the main diagonal of  X .                                     
  263.       DIAG(DIAG(X))  is a diagonal matrix .                                     
  264.                                                                                 
  265. DIARY DIARY('file') causes a  copy  of  all  subsequent  terminal               
  266.       input and most of the resulting output to be written on the               
  267.       file. DIARY(0) turns it off.  See FILE.                                   
  268.                                                                                 
  269. DISP  DISPLAY(X) prints X  in  a  compact  format.   If  all  the               
  270.       elements  of  X  are  integers  between 0 and 51, then X is               
  271.       interpreted  as  MATLAB  text  and   printed   accordingly.               
  272.       Otherwise,  +  ,  -   and  blank  are printed for positive,               
  273.       negative and zero elements.  Imaginary parts are ignored.                 
  274.       DISP(X,B) is the same as DISP(BASE(X,B)).                                 
  275.                                                                                 
  276. EDIT  There  are  no   editing   features   available   on   most               
  277.       installations and EDIT is not a command.  However, on a few               
  278.       systems a command line consisting of a single  backslash  \               
  279.       will  cause  the local file editor to be called with a copy               
  280.       of the  previous  input  line.   When  the  editor  returns               
  281.       control to MATLAB, it will execute the line again.                        
  282.                                                                                 
  283. EIG   Eigenvalues and eigenvectors.                                             
  284.       EIG(X) is a vector containing the eigenvalues of  a  square               
  285.       matrix  X .                                                               
  286.       <V,D>  =  EIG(X)   produces  a  diagonal  matrix    D    of               
  287.       eigenvalues  and  a  full  matrix  V  whose columns are the               
  288.       corresponding eigenvectors so that  X*V = V*D .                           
  289.                                                                                 
  290. ELSE  Used with IF .                                                            
  291.                                                                                 
  292. END   Terminates the scope  of  FOR,  WHILE  and  IF  statements.               
  293.       Without  END's,  FOR  and WHILE repeat all statements up to               
  294.       the end of the line.  Each END is paired with  the  closest               
  295.       previous  unpaired FOR or WHILE and serves to terminate its               
  296.       scope.  The line                                                          
  297.       FOR I=1:N, FOR J=1:N, A(I,J)=1/(I+J-1); A                                 
  298.       would cause A to be printed  N**2  times, once for each new               
  299.       element.  On the other hand, the line                                     
  300.       FOR I=1:N, FOR J=1:N, A(I,J)=1/(I+J-1); END, END, A                       
  301.       will lead to only the final printing of  A .                              
  302.       Similar considerations apply to WHILE.                                    
  303.       EXIT terminates execution of loops or of MATLAB itself.                   
  304.                                                                                 
  305. EPS   Floating point relative  accuracy.   A  permanent  variable               
  306.       whose  value is initially the distance from 1.0 to the next               
  307.       largest floating point number.  The  value  is  changed  by               
  308.       CHOP,  and  other values may be assigned.  EPS is used as a               
  309.       default tolerance by PINV and RANK.                                       
  310.                                                                                 
  311. EXEC  EXEC('file',k) obtains  subsequent  MATLAB  input  from  an               
  312.       external  file.  The printing of input is controlled by the               
  313.       optional parameter k .                                                    
  314.       If k = 1 , the input is echoed.                                           
  315.       If k = 2 , the MATLAB prompt <> is printed.                               
  316.       If k = 4 , MATLAB pauses before each prompt and waits for a               
  317.       null line to continue.                                                    
  318.       If k = 0 , there is no echo, prompt or pause.  This is  the               
  319.       default if the exec command is followed by a semicolon.                   
  320.       If k = 7 , there will be echos, prompts and pauses. This is               
  321.       useful for demonstrations on video terminals.                             
  322.       If k = 3 , there will be echos and prompts, but no  pauses.               
  323.       This is the the default if the exec command is not followed               
  324.       by a semicolon.                                                           
  325.       EXEC(0) causes subsequent input to  be  obtained  from  the               
  326.       terminal. An end-of-file has the same effect.                             
  327.       EXEC's may be nested, i.e. the text in the file may contain               
  328.       EXEC of another file.  EXEC's may also be driven by FOR and               
  329.       WHILE loops.                                                              
  330.                                                                                 
  331. EXIT  Causes termination of a FOR or WHILE loop.                                
  332.       If not in a loop, terminates execution of MATLAB.                         
  333.                                                                                 
  334. EXP   EXP(X)  is the exponential of  X ,  e  to the X .  See  FUN               
  335.       .                                                                         
  336.                                                                                 
  337. EYE   Identity matrix.  EYE(N) is the N  by  N  identity  matrix.               
  338.       EYE(M,N)   is an M by N matrix with 1's on the diagonal and               
  339.       zeros elsewhere.  EYE(A)  is the same size  as   A  .   EYE               
  340.       with  no  arguments is an identity matrix of whatever order               
  341.       is appropriate in the context.   For  example,  A  +  3*EYE               
  342.       adds  3  to each diagonal element of  A .                                 
  343.                                                                                 
  344. FILE  The EXEC, SAVE, LOAD,  PRINT  and  DIARY  functions  access               
  345.       files.   The  'file'  parameter  takes  different forms for               
  346.       different operating systems.  On most systems,  'file'  may               
  347.       be a string of up to 32 characters in quotes.  For example,               
  348.       SAVE('A') or EXEC('matlab/demo.exec') .  The string will be               
  349.       used as the name of a file in the local operating system.                 
  350.       On all systems, 'file' may be a positive integer   k   less               
  351.       than  10  which  will  be  used  as  a FORTRAN logical unit               
  352.       number. Some systems then automatically access a file  with               
  353.       a  name  like  FORT.k  or FORk.DAT. Other systems require a               
  354.       file with a name like FT0kF001 to be assigned  to  unit   k               
  355.       before  MATLAB  is  executed. Check your local installation               
  356.       for details.                                                              
  357.                                                                                 
  358. FLOPS Count of floating point operations.                                       
  359.       FLOPS  is  a  permanently  defined  row  vector  with   two               
  360.       elements.    FLOPS(1)  is  the  number  of  floating  point               
  361.       operations counted during the previous statement.  FLOPS(2)               
  362.       is  a  cumulative total.  FLOPS can be used in the same way               
  363.       as any other vector.  FLOPS(2) = 0  resets  the  cumulative               
  364.       total.   In  addition,  FLOPS(1) will be printed whenever a               
  365.       statement is terminated by an extra comma.  For example,                  
  366.       X = INV(A);,                                                              
  367.       or                                                                        
  368.       COND(A),   (as the last statement on the line).                           
  369.       HELP FLPS gives more details.                                             
  370.                                                                                 
  371. FLPS  More detail on FLOPS.                                                     
  372.       It is not feasible to count absolutely all  floating  point               
  373.       operations,  but  most  of  the important ones are counted.               
  374.       Each multiply and add in a real vector operation such as  a               
  375.       dot  product  or  a 'saxpy' counts one flop.  Each multiply               
  376.       and add in a complex vector  operation  counts  two  flops.               
  377.       Other additions, subtractions and multiplications count one               
  378.       flop each if the result is real and two flops if it is not.               
  379.       Real  divisions  count one and complex divisions count two.               
  380.       Elementary functions count one if real and two if  complex.               
  381.       Some examples.  If A and B are real N by N matrices, then                 
  382.       A + B  counts N**2 flops,                                                 
  383.       A*B    counts N**3 flops,                                                 
  384.       A**100 counts 99*N**3 flops,                                              
  385.       LU(A)  counts roughly (1/3)*N**3 flops.                                   
  386.                                                                                 
  387. FOR   Repeat statements a specific number of times.                             
  388.       FOR variable = expr, statement, ..., statement, END                       
  389.       The END at the end of a line may  be  omitted.   The  comma               
  390.       before  the  END  may  also be omitted.  The columns of the               
  391.       expression are stored one at a time  in  the  variable  and               
  392.       then the following statements, up to the END, are executed.               
  393.       The expression is often of the form X:Y, in which case  its               
  394.       columns  are  simply  scalars.  Some examples (assume N has               
  395.       already been assigned a value).                                           
  396.       FOR I = 1:N, FOR J = 1:N, A(I,J) = 1/(I+J-1);                             
  397.       FOR J = 2:N-1, A(J,J) = J; END; A                                         
  398.       FOR S = 1.0: -0.1: 0.0, ...  steps S with increments of -0.1 .            
  399.       FOR E = EYE(N), ...   sets  E  to the unit N-vectors.                     
  400.       FOR V = A, ...   has the same effect as                                   
  401.       FOR J = 1:N, V = A(:,J); ...  except J is also set here.                  
  402.                                                                                 
  403. FUN   For matrix arguments  X , the  functions  SIN,  COS,  ATAN,               
  404.       SQRT,  LOG,  EXP and X**p are computed using eigenvalues  D               
  405.       and eigenvectors  V .  If  <V,D> =  EIG(X)   then   f(X)  =               
  406.       V*f(D)/V  .   This method may give inaccurate results if  V               
  407.       is badly conditioned.  Some idea of  the  accuracy  can  be               
  408.       obtained by comparing  X**1  with  X .                                    
  409.       For vector arguments,  the  function  is  applied  to  each               
  410.       component.                                                                
  411.                                                                                 
  412. HESS  Hessenberg form.  The Hessenberg form of a matrix  is  zero               
  413.       below the first subdiagonal.  If the matrix is symmetric or               
  414.       Hermitian,  the  form  is  tridiagonal.   <P,H>  =  HESS(A)               
  415.       produces  a  unitary  matrix P and a Hessenberg matrix H so               
  416.       that A = P*H*P'.  By itself, HESS(A) returns H.                           
  417.                                                                                 
  418. HILB  Inverse Hilbert matrix.  HILB(N)  is the inverse of  the  N               
  419.       by  N   matrix  with elements  1/(i+j-1), which is a famous               
  420.       example of a badly conditioned matrix.  The result is exact               
  421.       for  N  less than about 15, depending upon the computer.                  
  422.                                                                                 
  423. IF    Conditionally execute statements.  Simple form...                         
  424.       IF expression rop expression, statements                                  
  425.       where rop is =, <, >, <=, >=, or  <>  (not  equal)  .   The               
  426.       statements  are  executed  once if the indicated comparison               
  427.       between the real parts of the first components of  the  two               
  428.       expressions  is true, otherwise the statements are skipped.               
  429.       Example.                                                                  
  430.       IF ABS(I-J) = 1, A(I,J) = -1;                                             
  431.       More complicated forms use END in the same way it  is  used               
  432.       with FOR and WHILE and use ELSE as an abbreviation for END,               
  433.       IF expression not rop expression .  Example                               
  434.       FOR I = 1:N, FOR J = 1:N, ...                                             
  435.          IF I = J, A(I,J) = 2; ELSE IF ABS(I-J) = 1, A(I,J) = -1; ...           
  436.          ELSE A(I,J) = 0;                                                       
  437.       An easier way to accomplish the same thing is                             
  438.       A = 2*EYE(N);                                                             
  439.       FOR I = 1:N-1, A(I,I+1) = -1; A(I+1,I) = -1;                              
  440.                                                                                 
  441. IMAG  IMAG(X)  is the imaginary part of  X .                                    
  442.                                                                                 
  443. INV   INV(X)  is the inverse of the square matrix  X .  A warning               
  444.       message  is  printed  if   X   is  badly  scaled  or nearly               
  445.       singular.                                                                 
  446.                                                                                 
  447. KRON  KRON(X,Y) is the Kronecker tensor product of X and Y  .  It               
  448.       is  also  denoted by X .*. Y . The result is a large matrix               
  449.       formed by taking all possible products between the elements               
  450.       of  X  and  those  of Y . For example, if X is 2 by 3, then               
  451.       X .*. Y is                                                                
  452.                                                                                 
  453.             < x(1,1)*Y  x(1,2)*Y  x(1,3)*Y                                      
  454.               x(2,1)*Y  x(2,2)*Y  x(2,3)*Y >                                    
  455.                                                                                 
  456.       The five-point discrete Laplacian for an n-by-n grid can be               
  457.       generated by                                                              
  458.                                                                                 
  459.             T = diag(ones(n-1,1),1);  T = T + T';  I = EYE(T);                  
  460.             A = T.*.I + I.*.T - 4*EYE;                                          
  461.                                                                                 
  462.       Just  in  case  they  might  be  useful,  MATLAB   includes               
  463.       constructions called Kronecker tensor quotients, denoted by               
  464.       X ./. Y and X .\. Y .  They are obtained by  replacing  the               
  465.       elementwise multiplications in X .*. Y with divisions.                    
  466.                                                                                 
  467. LINES An internal count is kept of the number of lines of  output               
  468.       since  the  last  input.   Whenever this count approaches a               
  469.       limit, the  user  is  asked  whether  or  not  to  suppress               
  470.       printing  until the next input.  Initially the limit is 25.               
  471.       LINES(N) resets the limit to N .                                          
  472.                                                                                 
  473. LOAD  LOAD('file') retrieves all the variables from  the  file  .               
  474.       See  FILE  and  SAVE for more details.  To prepare your own               
  475.       file for LOADing, change the READs to WRITEs  in  the  code               
  476.       given under SAVE.                                                         
  477.                                                                                 
  478. LOG   LOG(X)  is the  natural  logarithm  of   X  .   See  FUN  .               
  479.       Complex results are produced if  X  is not positive, or has               
  480.       nonpositive eigenvalues.                                                  
  481.                                                                                 
  482. LONG  Determine output format.   All  computations  are  done  in               
  483.       complex arithmetic and double precision if it is available.               
  484.       SHORT and  LONG  merely  switch  between  different  output               
  485.       formats.                                                                  
  486.       SHORT    Scaled fixed point format with about 5 digits.                   
  487.       LONG     Scaled fixed point format with about 15 digits.                  
  488.       SHORT E  Floating point format with about 5 digits.                       
  489.       LONG E   Floating point format with about 15 digits.                      
  490.       LONG Z   System dependent format, often hexadecimal.                      
  491.                                                                                 
  492. LU    Factors from Gaussian elimination.  <L,U> = LU(X)  stores a               
  493.       upper triangular matrix in  U  and a 'psychologically lower               
  494.       triangular matrix', i.e. a product of lower triangular  and               
  495.       permutation matrices, in L , so that  X = L*U .  By itself,               
  496.       LU(X) returns the output from CGEFA .                                     
  497.                                                                                 
  498. MACRO The macro facility involves text and inward pointing  angle               
  499.       brackets.  If  STRING  is  the  source  text for any MATLAB               
  500.       expression or statement, then                                             
  501.             t = 'STRING';                                                       
  502.       encodes the text as a vector of integers  and  stores  that               
  503.       vector in  t .  DISP(t) will print the text and                           
  504.             >t<                                                                 
  505.       causes the text to be interpreted, either as a statement or               
  506.       as a factor in an expression.  For example                                
  507.             t = '1/(i+j-1)';                                                    
  508.             disp(t)                                                             
  509.             for i = 1:n, for j = 1:n, a(i,j) = >t<;                             
  510.       generates the Hilbert matrix of order n.                                  
  511.       Another example showing indexed text,                                     
  512.             S = <'x = 3            '                                            
  513.                  'y = 4            '                                            
  514.                  'z = sqrt(x*x+y*y)'>                                           
  515.             for k = 1:3, >S(k,:)<                                               
  516.       It is necessary that the strings making up  the  "rows"  of               
  517.       the "matrix"  S  have the same lengths.                                   
  518.                                                                                 
  519. MAGIC Magic square.  MAGIC(N) is an N  by  N  matrix  constructed               
  520.       from  the integers 1 through N**2 with equal row and column               
  521.       sums.                                                                     
  522.                                                                                 
  523. NORM  For matrices..                                                            
  524.       NORM(X)  is the largest singular value of  X .                            
  525.       NORM(X,1)  is the 1-norm of  X .                                          
  526.       NORM(X,2)  is the same as NORM(X) .                                       
  527.       NORM(X,'INF')  is the infinity norm of  X .                               
  528.       NORM(X,'FRO')  is the F-norm, i.e.  SQRT(SUM(DIAG(X'*X))) .               
  529.       For vectors..                                                             
  530.       NORM(V,P) = (SUM(V(I)**P))**(1/P) .                                       
  531.       NORM(V) = NORM(V,2) .                                                     
  532.       NORM(V,'INF') = MAX(ABS(V(I))) .                                          
  533.                                                                                 
  534. ONES  All ones.  ONES(N)  is an N by N matrix of ones.  ONES(M,N)               
  535.       is an M by N matrix of ones .  ONES(A)  is the same size as               
  536.       A  and all ones .                                                         
  537.                                                                                 
  538. ORTH  Orthogonalization.   Q  =  ORTH(X)   is   a   matrix   with               
  539.       orthonormal  columns,  i.e. Q'*Q = EYE, which span the same               
  540.       space as the columns of  X .                                              
  541.                                                                                 
  542. PINV  Pseudoinverse.  X = PINV(A) produces a matrix   X   of  the               
  543.       same  dimensions as  A' so that  A*X*A = A , X*A*X = X  and               
  544.       AX  and  XA  are Hermitian .  The computation is  based  on               
  545.       SVD(A)  and  any  singular values less than a tolerance are               
  546.       treated   as    zero.     The    default    tolerance    is               
  547.       NORM(SIZE(A),'inf')*NORM(A)*EPS.   This  tolerance  may  be               
  548.       overridden with X = PINV(A,tol).  See RANK.                               
  549.                                                                                 
  550. PLOT  PLOT(X,Y) produces a plot of  the  elements  of  Y  against               
  551.       those  of X . PLOT(Y) is the same as PLOT(1:n,Y) where n is               
  552.       the  number  of   elements   in   Y   .    PLOT(X,Y,P)   or               
  553.       PLOT(X,Y,p1,...,pk)  passes the optional parameter vector P               
  554.       or scalars p1 through pk to the plot routine.  The  default               
  555.       plot  routine  is a crude printer-plot. It is hoped that an               
  556.       interface to local graphics equipment can be provided.                    
  557.       An interesting example is                                                 
  558.             t = 0:50;                                                           
  559.             PLOT( t.*cos(t), t.*sin(t) )                                        
  560.                                                                                 
  561. POLY  Characteristic polynomial.                                                
  562.       If  A  is an N by N matrix, POLY(A) is a column vector with               
  563.       N+1   elements   which   are   the   coefficients   of  the               
  564.       characteristic polynomial,  DET(lambda*EYE - A) .                         
  565.       If V is a vector, POLY(V) is a vector  whose  elements  are               
  566.       the  coefficients  of  the  polynomial  whose roots are the               
  567.       elements of V .  For vectors, ROOTS and  POLY  are  inverse               
  568.       functions  of  each  other,  up  to  ordering, scaling, and               
  569.       roundoff error.                                                           
  570.       ROOTS(POLY(1:20)) generates Wilkinson's famous example.                   
  571.                                                                                 
  572. PRINT PRINT('file',X) prints X on  the  file  using  the  current               
  573.       format determined by SHORT, LONG Z, etc.  See FILE.                       
  574.                                                                                 
  575. PROD  PROD(X)  is the product of all the elements of  X .                       
  576.                                                                                 
  577. QR    Orthogonal-triangular decomposition.                                      
  578.       <Q,R> = QR(X)  produces an upper triangular  matrix   R  of               
  579.       the  same dimension as  X  and a unitary matrix  Q  so that               
  580.       X = Q*R .                                                                 
  581.       <Q,R,E> = QR(X)  produces a  permutation  matrix   E  ,  an               
  582.       upper  triangular  R  with decreasing diagonal elements and               
  583.       a unitary  Q  so that  X*E = Q*R .                                        
  584.       By itself, QR(X) returns the output of CQRDC .  TRIU(QR(X))               
  585.       is R .                                                                    
  586.                                                                                 
  587. RAND  Random numbers and matrices.  RAND(N)  is an N by N  matrix               
  588.       with  random  entries.  RAND(M,N)  is an M by N matrix with               
  589.       random entries.  RAND(A)  is the same size as   A  .   RAND               
  590.       with no arguments is a scalar whose value changes each time               
  591.       it is referenced.                                                         
  592.       Ordinarily,  random numbers are  uniformly  distributed  in               
  593.       the  interval  (0.0,1.0)  .   RAND('NORMAL')  switches to a               
  594.       normal distribution  with  mean  0.0  and  variance  1.0  .               
  595.       RAND('UNIFORM')  switches back to the uniform distribution.               
  596.       RAND('SEED') returns the current value of the seed for  the               
  597.       generator.    RAND('SEED',n)   sets   the   seed   to  n  .               
  598.       RAND('SEED',0) resets the seed to 0, its value when  MATLAB               
  599.       is first entered.                                                         
  600.                                                                                 
  601. RANK  Rank.  K = RANK(X) is the number of singular values  of   X               
  602.       that are larger than NORM(SIZE(X),'inf')*NORM(X)*EPS.                     
  603.       K = RANK(X,tol) is the number of singular values of  X that               
  604.       are larger than tol .                                                     
  605.                                                                                 
  606. RCOND RCOND(X)   is  an  estimate  for  the  reciprocal  of   the               
  607.       condition  of   X   in  the  1-norm obtained by the LINPACK               
  608.       condition estimator.  If  X  is well conditioned,  RCOND(X)               
  609.       is  near  1.0  .   If  X  is badly conditioned, RCOND(X) is               
  610.       near 0.0 .                                                                
  611.       <R, Z> = RCOND(A) sets  R  to RCOND(A) and also produces  a               
  612.       vector  Z so that                                                         
  613.                  NORM(A*Z,1) = R*NORM(A,1)*NORM(Z,1)                            
  614.       So, if RCOND(A) is small, then  Z  is an  approximate  null               
  615.       vector.                                                                   
  616.                                                                                 
  617. RAT   An experimental  function  which  attempts  to  remove  the               
  618.       roundoff   error  from  results  that  should  be  "simple"               
  619.       rational numbers.                                                         
  620.       RAT(X) approximates each  element  of   X  by  a  continued               
  621.       fraction of the form                                                      
  622.                                                                                 
  623.                 a/b = d1 + 1/(d2 + 1/(d3 + ... + 1/dk))                         
  624.                                                                                 
  625.       with k <= len, integer di and abs(di) <= max .  The default               
  626.       values of the parameters are len = 5 and max = 100.                       
  627.       RAT(len,max) changes the default values.  Increasing either               
  628.       len or max increases the number of possible fractions.                    
  629.       <A,B> = RAT(X) produces integer matrices A and B so that                  
  630.                                                                                 
  631.                 A ./ B  =  RAT(X)                                               
  632.                                                                                 
  633.       Some examples:                                                            
  634.                                                                                 
  635.             long                                                                
  636.             T = hilb(6), X = inv(T)                                             
  637.             <A,B> = rat(X)                                                      
  638.             H = A ./ B, S = inv(H)                                              
  639.                                                                                 
  640.             short e                                                             
  641.             d = 1:8,  e = ones(d),  A = abs(d'*e - e'*d)                        
  642.             X = inv(A)                                                          
  643.             rat(X)                                                              
  644.             display(ans)                                                        
  645.                                                                                 
  646.                                                                                 
  647. REAL  REAL(X)  is the real part of  X .                                         
  648.                                                                                 
  649. RETURN  From the terminal, causes return to the operating  system               
  650.       or  other  program  which  invoked  MATLAB.  From inside an               
  651.       EXEC, causes  return  to  the  invoking  EXEC,  or  to  the               
  652.       terminal.                                                                 
  653.                                                                                 
  654. RREF  RREF(A) is the reduced row echelon form of the  rectangular               
  655.       matrix.  RREF(A,B) is the same as RREF(<A,B>) .                           
  656.                                                                                 
  657. ROOTS Find polynomial roots.  ROOTS(C)  computes the roots of the               
  658.       polynomial  whose  coefficients  are  the  elements  of the               
  659.       vector  C .  If  C  has  N+1  components, the polynomial is               
  660.       C(1)*X**N + ... + C(N)*X + C(N+1) .  See POLY.                            
  661.                                                                                 
  662. ROUND ROUND(X)  rounds  the  elements  of   X   to  the   nearest               
  663.       integers.                                                                 
  664.                                                                                 
  665. SAVE  SAVE('file') stores all the current variables in a file.                  
  666.       SAVE('file',X) saves only X .  See FILE .                                 
  667.       The variables may be retrieved later by LOAD('file') or  by               
  668.       your  own program using the following code for each matrix.               
  669.       The lines involving XIMAG may be eliminated  if  everything               
  670.       is known to be real.                                                      
  671.                                                                                 
  672.             attach lunit to 'file'                                              
  673.             REAL or DOUBLE PRECISION XREAL(MMAX,NMAX)                           
  674.             REAL or DOUBLE PRECISION XIMAG(MMAX,NMAX)                           
  675.             READ(lunit,101) ID,M,N,IMG                                          
  676.             DO 10 J = 1, N                                                      
  677.                READ(lunit,102) (XREAL(I,J), I=1,M)                              
  678.                IF (IMG .NE. 0) READ(lunit,102) (XIMAG(I,J),I=1,M)               
  679.          10 CONTINUE                                                            
  680.                                                                                 
  681.       The formats used are system dependent.  The  following  are               
  682.       typical.     See    SUBROUTINE   SAVLOD   in   your   local               
  683.       implementation of MATLAB.                                                 
  684.                                                                                 
  685.         101 FORMAT(4A1,3I4)                                                     
  686.         102 FORMAT(4Z18)                                                        
  687.         102 FORMAT(4O20)                                                        
  688.         102 FORMAT(4D25.18)                                                     
  689.                                                                                 
  690. SCHUR Schur decomposition.  <U,T> = SCHUR(X)  produces  an  upper               
  691.       triangular  matrix   T , with the eigenvalues of  X  on the               
  692.       diagonal, and a unitary matrix  U so that  X =  U*T*U'  and               
  693.       U'*U = EYE .  By itself, SCHUR(X) returns  T .                            
  694.                                                                                 
  695. SHORT See LONG .                                                                
  696.                                                                                 
  697. SEMI  Semicolons at the end of  lines  will  cause,  rather  than               
  698.       suppress,  printing.   A  second  SEMI restores the initial               
  699.       interpretation.                                                           
  700.                                                                                 
  701. SIN   SIN(X)  is the sine of  X .  See FUN .                                    
  702.                                                                                 
  703. SIZE  If X is an M by N matrix, then SIZE(X) is <M, N> .                        
  704.       Can also be used with a multiple assignment,                              
  705.             <M, N> = SIZE(X) .                                                  
  706.                                                                                 
  707. SQRT  SQRT(X)  is the square root of  X .   See  FUN  .   Complex               
  708.       results  are  produced  if   X   is  not  positive,  or has               
  709.       nonpositive eigenvalues.                                                  
  710.                                                                                 
  711. STOP  Use EXIT instead.                                                         
  712.                                                                                 
  713. SUM   SUM(X)   is  the  sum  of  all  the  elements   of    X   .               
  714.       SUM(DIAG(X))  is the trace of  X .                                        
  715.                                                                                 
  716. SVD   Singular value decomposition.  <U,S,V> = SVD(X)  produces a               
  717.       diagonal  matrix  S , of the same dimension as  X  and with               
  718.       nonnegative diagonal  elements  in  decreasing  order,  and               
  719.       unitary matrices  U  and  V  so that  X = U*S*V' .                        
  720.       By itself, SVD(X) returns a vector containing the  singular               
  721.       values.                                                                   
  722.       <U,S,V>   =   SVD(X,0)   produces   the   "economy    size"               
  723.       decomposition.   If  X  is m by n with m > n, then only the               
  724.       first n columns of U are computed and S is n by n .                       
  725.                                                                                 
  726. TRIL  Lower triangle.  TRIL(X) is the lower triangular part of X.               
  727.       TRIL(X,K) is the elements on and below the K-th diagonal of               
  728.       X.  K = 0 is the main diagonal, K > 0  is  above  the  main               
  729.       diagonal and K < 0 is below the main diagonal.                            
  730.                                                                                 
  731. TRIU  Upper triangle.  TRIU(X) is the upper triangular part of X.               
  732.       TRIU(X,K) is the elements on and above the K-th diagonal of               
  733.       X.  K = 0 is the main diagonal, K > 0  is  above  the  main               
  734.       diagonal and K < 0 is below the main diagonal.                            
  735.                                                                                 
  736. USER  Allows personal  Fortran  subroutines  to  be  linked  into               
  737.       MATLAB .  The subroutine should have the heading                          
  738.                                                                                 
  739.                SUBROUTINE USER(A,M,N,S,T)                                       
  740.                REAL or DOUBLE PRECISION A(M,N),S,T                              
  741.                                                                                 
  742.       The MATLAB statement  Y = USER(X,s,t)  results in a call to               
  743.       the  subroutine with a copy of the matrix  X  stored in the               
  744.       argument  A , its column and row dimensions in  M  and  N ,               
  745.       and  the scalar parameters  s  and  t  stored in  S  and  T               
  746.       . If  s and t  are omitted, they are set to  0.0  .   After               
  747.       the  return,   A  is stored in  Y .  The dimensions  M  and               
  748.       N  may be reset within the subroutine.  The statement  Y  =               
  749.       USER(K)  results in a call with M = 1, N = 1  and  A(1,1) =               
  750.       FLOAT(K) .  After the subroutine has been written, it  must               
  751.       be compiled and linked to the MATLAB object code within the               
  752.       local operating system.                                                   
  753.                                                                                 
  754. WHAT  Lists commands and functions currently available.                         
  755.                                                                                 
  756. WHILE Repeat statements an indefinite number of times.                          
  757.       WHILE expr rop expr, statement, ..., statement, END                       
  758.       where rop is =, <, >, <=, >=, or <> (not equal) .  The  END               
  759.       at  the end of a line may be omitted.  The comma before the               
  760.       END may also be omitted.  The commas  may  be  replaced  by               
  761.       semicolons   to   avoid   printing.    The  statements  are               
  762.       repeatedly executed as long  as  the  indicated  comparison               
  763.       between  the  real parts of the first components of the two               
  764.       expressions is true.   Example  (assume  a  matrix   A   is               
  765.       already defined).                                                         
  766.       E = 0*A; F = E + EYE; N = 1;                                              
  767.       WHILE NORM(E+F-E,1) > 0, E = E + F; F = A*F/N; N = N + 1;                 
  768.       E                                                                         
  769.                                                                                 
  770. WHO   Lists current variables.                                                  
  771.                                                                                 
  772. WHY   Provides succinct answers to any questions.                               
  773.                                                                                 
  774. //                                                                              
  775.