Page 55 - Basics of MATLAB and Beyond
P. 55

Further increases in speed can be achieved by pre-allocating the output
                               matrix y. If we have an m-file called factorialpre.m:

                               y = zeros (1,500);
                               for number = 1:500
                                  y(number) = prod(1:number);
                               end
                               the execution time is about 10% faster: 4
                               >> clear
                               >> tic;factorialpre;toc
                               elapsed_time   =
                                   0.3752
                                  More on vectorising code is given in Part II (see page 175).

                               8.4   Comparing Strings

                               The tests in flow control statements often involve strings (arrays of char-
                               acters). For example you may want to ask the user of an m-file a ques-
                               tion which has a “yes” or “no” response, and adjust the flow accordingly.
                               Although matlab has sophisticated menu utilities, the following is often
                               sufficient to get a user input:
                               input(’Do you want to continue (y or n) ? ’,’s’);
                               The ’s’ at the end tells matlab to expect a string response, rather
                               than a numerical response. The following matlab code tests for a ‘y’
                               response:
                               if strcmp(lower(ans(1)),’y’)
                                  go_ahead
                               else
                                  return
                               end
                               The strcmp function compares strings, lower converts to lower-case
                               characters and ans(1) selects the first letter of the response. Type
                               help strcmp for more information. The return command returns to
                               the invoking function or to the matlab prompt.

                               9    Data Files


                               Many techniques are available to read data into matlab and to save data
                               from matlab. The load and save functions can load or save matlab
                               format binary or plain ASCII files, and low-level input-output routines
                               can be used for other formats.
                                 4 See matlab’s gamma function if you are interested in computing factorials.



                               c   2000 by CRC Press LLC
   50   51   52   53   54   55   56   57   58   59   60