Note that this reference documentation is identical to the help that is displayed in MATLAB when you type “help qsubcellfun”.

  QSUBCELLFUN applies a function to each element of a cell-array. The
  function execution is done in parallel using the Torque, SGE, PBS or
  SLURM batch queue system.
 
  Use as
    argout = qsubcellfun(fname, x1, x2, ...)
 
  This function has a number of optional arguments that have to passed
  as key-value pairs at the end of the list of input arguments. All other
  input arguments (including other key-value pairs) will be passed to the
  function to be evaluated.
    UniformOutput  = boolean (default = false)
    StopOnError    = boolean (default = true)
    diary          = string, can be 'always', 'never', 'warning', 'error' (default = 'error')
    timreq         = number, the time in seconds required to run a single job
    timoverhead    = number in seconds, how much time to allow MATLAB to start (default = 180 seconds)
    memreq         = number, the memory in bytes required to run a single job
    memoverhead    = number in bytes, how much memory to account for MATLAB itself (default = 1024^3, i.e. 1GB)
    stack          = number, stack multiple jobs in a single qsub job (default = 'auto')
    backend        = string, can be 'torque', 'sge', 'slurm', 'lsf', 'system', 'local' (default is automatic)
    batchid        = string, to identify the jobs in the queue (default is user_host_pid_batch)
    compile        = string, can be 'auto', 'yes', 'no' (default = 'no')
    queue          = string, which queue to submit the job in (default is empty)
    options        = string, additional options that will be passed to qsub/srun (default is empty)
    matlabcmd      = string, the Linux command line to start MATLAB on the compute nodes (default is automatic
    display        = 'yes' or 'no', whether the nodisplay option should be passed to MATLAB (default = 'no', meaning nodisplay)
    jvm            = 'yes' or 'no', whether the nojvm option should be passed to MATLAB (default = 'yes', meaning with jvm)
    rerunable      = 'yes' or 'no', whether the job can be restarted on a torque/maui/moab cluster (default = 'no')
    sleep          = number, time in seconds to wait between checks for job completion (default = 0.5 s)
 
  It is required to give an estimate of the time and memory requirements of
  the individual jobs. The memory requirement of the MATLAB executable
  itself will automatically be added, just as the time required to start
  up a new MATLAB process. If you don't know what the memory and time
  requirements of your job are, you can get an estimate for them using
  TIC/TOC and MEMTIC/MEMTOC around a single execution of one of the jobs in
  your interactive MATLAB session. You can also start with very large
  estimates, e.g. 4*1024^3 bytes for the memory (which is 4GB) and 28800
  seconds for the time (which is 8 hours) and then run a single job through
  qsubcellfun. When the job returns, it will print the memory and time it
  required.
 
  Example
    fname = 'power';
    x1    = {1, 2, 3, 4, 5};
    x2    = {2, 2, 2, 2, 2};
    y     = qsubcellfun(fname, x1, x2, 'memreq', 1024^3, 'timreq', 300);
 
  Using the compile=yes or compile=auto option, you can compile your
  function into a stand-alone executable that can be executed on the cluster
  without requiring additional MATLAB licenses. You can also call the
  QSUBCOMPILE function prior to calling QSUBCELLFUN. If you plan multiple
  batches of the same function, compiling it prior to QSUBCELLFUN is more
  efficient. In that case you will have to delete the compiled executable
  yourself once you are done.
 
  In case you abort your call to qsubcellfun by pressing ctrl-c,
  the already submitted jobs will be canceled. Some small temporary
  files might remain in your working directory.
 
  To check the the status and healthy execution of the jobs on the Torque
  batch queuing system, you can use
    qstat
    qstat -an1
    qstat -Q
  comands on the linux command line. To delete jobs from the Torque batch
  queue and to abort already running jobs, you can use
    qdel <jobnumber>
    qdel all
 
  See also QSUBCOMPILE, QSUBFEVAL, CELLFUN, PEERCELLFUN, FEVAL, DFEVAL, DFEVALASYNC