R.matlab-无法启动服务器

R.matlab-无法启动服务器,r,matlab,R,Matlab,我正在尝试使用R.matlab包,但坦率地说,我无法启动matlab服务器 我在OSX10.11.5上使用MatlabR2015B 在R之内我得到 > Matlab() [1] "Matlab: The MATLAB host is 'localhost' and communication goes via port 9999. Objects are passed via the local file system (remote=FALSE). The connection to t

我正在尝试使用
R.matlab
包,但坦率地说,我无法启动matlab服务器

我在OSX10.11.5上使用MatlabR2015B

在R之内我得到

> Matlab()
[1] "Matlab: The MATLAB host is 'localhost' and communication goes via port 9999. Objects are passed via the local file system (remote=FALSE). The connection to the MATLAB server is closed (not opened)."
> Matlab$startServer()
[1] 0
sh: matlab: command not found
但在终端中,我确实可以使用
Matlab
命令启动Matlab

也在一个终端内

matlab -nodesktop -nosplash -r MatlabServer
导致

Undefined function or variable 'MatlabServer'.
>>

我设法修复它,从终端运行matlab。您只需转到您的用户配置文件
~/usr/your_nickame
并在任何编辑器中编辑文件。bash_profile(并保存!),然后添加

这样终端就知道你们所说的matlab是什么意思,以及在哪里找到它并执行它。它将使别名永久化。如果您是从终端启动服务器,则该选项可用

如果您想直接从R启动,我通过设置matlab命令的运行方式使其工作:

options(matlab="/Applications/MATLAB_R2015a.app/bin/matlab")
然后是通常的工作:

     require(R.matlab)
      Matlab$startServer()
      matlab <- Matlab()
      isOpen <- open(matlab)
   < M A T L A B (R) >
                  Copyright 1984-2015 The MathWorks, Inc.
                   R2015a (8.5.0.197613) 64-bit (maci64)
                             February 12, 2015


To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.

Running MatlabServer v3.5.9-9000
MATLAB v7.x or higher detected.
Saving with option -V6.
Added InputStreamByteWrapper to dynamic Java CLASSPATH.
----------------------
MATLAB server started!
----------------------
MATLAB working directory: /Users/air/Desktop/Dissertation/myPack/finalPack
Trying to open server socket (port 9999)...Error using MatlabServer (line 130)
Java exception occurred:
java.net.BindException: Address already in use
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at
        java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
    at java.net.ServerSocket.bind(ServerSocket.java:376)
    at java.net.ServerSocket.<init>(ServerSocket.java:237)
    at java.net.ServerSocket.<init>(ServerSocket.java:128) 
>> 
> 
require(R.matlab)
Matlab$startServer()
matlab>
> 

即使经过这么长时间。非常感谢。非常感谢。
     require(R.matlab)
      Matlab$startServer()
      matlab <- Matlab()
      isOpen <- open(matlab)
   < M A T L A B (R) >
                  Copyright 1984-2015 The MathWorks, Inc.
                   R2015a (8.5.0.197613) 64-bit (maci64)
                             February 12, 2015


To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.

Running MatlabServer v3.5.9-9000
MATLAB v7.x or higher detected.
Saving with option -V6.
Added InputStreamByteWrapper to dynamic Java CLASSPATH.
----------------------
MATLAB server started!
----------------------
MATLAB working directory: /Users/air/Desktop/Dissertation/myPack/finalPack
Trying to open server socket (port 9999)...Error using MatlabServer (line 130)
Java exception occurred:
java.net.BindException: Address already in use
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at
        java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
    at java.net.ServerSocket.bind(ServerSocket.java:376)
    at java.net.ServerSocket.<init>(ServerSocket.java:237)
    at java.net.ServerSocket.<init>(ServerSocket.java:128) 
>> 
>