octave: Examples

 
 19.7 Examples
 =============
 
 The following are examples of vectorization questions asked by actual
 users of Octave and their solutions.
 
    • For a vector ‘A’, the following loop
 
           n = length (A);
           B = zeros (n, 2);
           for i = 1:length (A)
             ## this will be two columns, the first is the difference and
             ## the second the mean of the two elements used for the diff.
             B(i,:) = [A(i+1)-A(i), (A(i+1) + A(i))/2];
           endfor
 
      can be turned into the following one-liner:
 
           B = [diff(A)(:), 0.5*(A(1:end-1)+A(2:end))(:)]
 
      Note the usage of colon indexing to flatten an intermediate result
      into a column vector.  This is a common vectorization trick.