Requirements
This is a cross-platform package implemented in plain R.
   This package depends on the R.oo package [1].
   To use the Matlab class or requesting verbose output messages, the
   R.utils package is loaded
   when needed (and therefore required at in those cases).
   The readMat() and writeMat() methods do $not$ require a
   Matlab installation neither do they depend on the Matlab class.
   To connect to Matlab, Matlab v6 or higher is required.
   It does not work with Matlab v5 or before (because there those
   version does not support Java).
   For confirmed Matlab versions, see help() on the "Matlab" class.Installation
To install this package do
install.packages("R.matlab")
   Required packages are installed in the same way.
   To get the "devel" version, see http://www.braju.com/R/.To get started
To get started, see:
   readMat() andwriteMat() - For reading and writing MAT files (Matlab isnotneeded).Matlab- To start Matlab and communicate with it fromR.
Miscellaneous
A related initiative is RMatlab by Duncan Temple Lang
   and Omegahat.  It provides a bi-directional interface between the
   Rand Matlab languages. For more details, see
   http://www.omegahat.org/RMatlab/.
   To call R from Matlab on Windows (only), see MATLAB R-link
   by Robert Henson available at the Matlab Central File Exchange
   (http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=5051).How to cite this package
Whenever using this package, please cite [2] as
@TECHREPORT{BengtssonH_2005,
  author = {Bengtsson, Henrik},
  title = {{R.matlab} - Local and remote {M}atlab connectivity in {R}},
  institution = {Mathematical Statistics, Centre for Mathematical Sciences,
                 Lund University, Sweden},
  year = {2005},
  type = {{Preprint in Mathematical Sciences (manuscript in progress)}},
  note = {[manuscript in progress]},
  url = {http://www.maths.lth.se/help/R/R.matlab/},
}
Troubleshooting
In general:
For trouble shooting in general, rerun erroneous function with
   verbose/debug messages turned on. For readMat() and writeMat()
   see their help. For communication with a Matlab server, use
   matlab <- Matlab()
    setVerbose(matlab, threshold=-2)
   The lower the threshold is the more information you will see.
Cannot connect to Matlab:
If R fails to connect to Matlab, make sure to try the the example in
   help(Matlab) first.  Make sure that the Matlab server is running
   before trying to connect to it from R first.  If Matlab is running
   but open() times out, make sure Matlab is listening to the
   same port that R is trying to connect to.  If that does not help,
   try to increase the time-out limit, see help(open.Matlab).
Expected an 'answer' from Matlab, but kept receiving nothing.:
When spawning a really long Matlab process by evaluate(), you
   may get the above error message.
Reason: This happens because evaluate() expect a reply
   from Matlab as soon as Matlab is done. The waiting should be "blocked",
   i.e. it should wait until it receives something. For unknown reasons,
   this is not always happening. The workaround we have implemented is to
   try readResult/maxTries waiting readResult/interval seconds
   inbetween.
Solution:
   Increase the total waiting time by setting the above options, e.g.
   setOption(matlab, "readResult/interval", 10); # Default is 1 second
    setOption(matlab, "readResult/maxTries", 30*(60/10)); # ~30 minutesWishlist
Here is a list of features that would be useful, but which I have
  too little time to add myself. Contributions are appreciated.
  - Add a function, say,
Matlab$createShortcut()which
          creates a Windows shortcut to start the Matlab server
          by double clicking it. It should be possible to create
          it in the current directory or to the Desktop.
          Maybe it is possible to do this upon installation and
          even to a Start -> All Programs -> R menu. - To improve security, update the MatlabServer.m script to
          allow the user to specify a "password" to be send upon
          connection from R in order for Matlab to accept the
          connection. This password should be possible to specify
          from the command line when starting Matlab. If not given,
          no password is required.
 - Add additional methods to the Matlab class. For instance,
          inline function in Matlab could have its own method.
 - Wrap up common Matlab commands as methods of the Matlab
          class, e.g.
who(matlab),clear(matlab)etc.
          Can this be done automatically using "reflection", so
          that required arguments are automatically detected? - Add support for reading (and writing) sparse matrices
          to be represented by the sparse matrix class defined in
          the
SparseMpackage. - Add access to Matlab variables via
"$"and"$<-", e.g.matlab$Aandmatlab$A <- 1234. Is this wanted?
          Maybe the same for functions, e.g.matlab$dice(1000).
          Is it possible to return multiple return values? 
  If you consider implement some of the above, make sure it is not
  already implemented by downloading the latest "devel" version!Acknowledgements
Thanks to the following people who contributed with valuable
   feedback, suggestions, and code:
   - Patrick Drechsler, Biocenter, University of Wuerzburg.
 - Andy Jacobson, Atmospheric and Oceanic Sciences Program,
          Princeton University.
 - Chris Sims, Department of Economics, Princeton University.
 - Wang Yu, ECE Department, Iowa State University.
 - Yichun Wei, Department of Biological Sciences,
          University of Southern California.
 
License
The releases of this package is licensed under
   LGPL version 2.1 or newer.
   The development code of the packages is under a private licence
   (where applicable) and patches sent to the author fall under the
   latter license, but will be, if incorporated, released under the
   "release" license above.References
[1] H. Bengtsson, The R.oo package - Object-Oriented Programming with References Using Standard R Code, In Kurt Hornik, Friedrich Leisch and Achim Zeileis, editors, Proceedings of the 3rd International Workshop on Distributed Statistical Computing (DSC 2003), March 20-22, Vienna, Austria. http://www.ci.tuwien.ac.at/Conferences/DSC-2003/Proceedings/
 
[2] Henrik Bengtsson,
     R.matlab - Local and remote Matlab connectivity in R,
     Mathematical Statistics, Centre for Mathematical Sciences,
     Lund University, Sweden, 2005. (manuscript in progress).