【问题标题】:Can I run matlab on Windows with UI, just that the code runs on remote server?我可以在带有 UI 的 Windows 上运行 matlab,只是代码在远程服务器上运行吗?
【发布时间】:2010-06-23 08:58:40
【问题描述】:

我正在使用我的笔记本电脑运行 MATLAB,它非常方便但速度很慢。 我们有运行 MATLAB 的强大服务器,但我在笔记本电脑上运行带有 UI 的应用程序更方便(而不是通过命令行运行 Matlab)。

是否可以在 Windows 上使用 UI 在本地运行 matlab,只是代码在远程服务器上运行(因此更快)?

谢谢!

【问题讨论】:

    标签: matlab remote-access


    【解决方案1】:

    我想到了几个选项,但并非所有选项都能准确回答您提出的问题。鉴于您的笔记本电脑是 Windows,您可以执行以下操作之一:

    1. 使用远程桌面连接到服务器并在那里运行 MATLAB
    2. 如果服务器是 UNIX,您可以在笔记本电脑上运行 X 服务器(cygwin 有免费的)
    3. 您可以使用Parallel Computing ToolboxMATLAB Distributed Computing Server 在服务器上打开matlabpool

    选项 (1) 和 (2) 基本上意味着您正在通过网络将 MATLAB UI 传输到您的笔记本电脑。选项 (3) 与您最初要求的最相似,但 matlabpool 仅在服务器上运行 PARFORSPMD 块的主体。

    【讨论】:

      【解决方案2】:

      在没有 GUI 的情况下在服务器上启动 MATLAB 的详细内容见 http://blogs.mathworks.com/desktop/2010/02/22/launching-matlab-without-the-desktop/ 您还应该阅读那里的用户 cmets/discussion

      例如你可以使用

      启动 matlab -nosplash -nodesktop -nojvm -minimize -r “测试命令,退出”

      如果不使用 Java 对您的需求过于严格:

      关于“-nodesktop”与“-nojvm”,还有第三种 (未记录/不支持)选项:“-noawt”。 -noawt 加载 Java(因此 启用 Java I/O、数据结构等)并阻止 Java GUI

      那里的讨论还谈到使用未记录的 com.mathworks.mde.desk.MLDesktop.getInstance.getMainFrame.hide 来隐藏命令行窗口,但该命令似乎没有工作

      顺便说一句,您可以作为 COM 自动化服务器启动,而不是通过 Windows shell 命令启动 MATLAB:

      http://www.mathworks.com/help/techdoc/matlab_external/brd0v3w.html

      或通过现有的 C API 来启动 MATLAB:

      http://www.mathworks.com/help/techdoc/matlab_external/f29148.html

      如果您经常使用它(例如,通过 Web 服务),最好始终将 MATLAB 实例保存在内存中(例如,因为 Windows 应用程序共享代码并拥有单独的数据,这可以节省大量时间,避免在每次脚本运行时将 MATLAB 代码重新加载到内存中)。该实例也可能是无头的(没有 UI)在服务器启动时使用此命令(例如,通过使用“regedit.exe”在 Windows 注册表中的 HKLM/Software/Microsoft/Windows/CurrentVersion/Run 中添加一个条目):

      启动 matlab -nosplash -nodesktop -nojvm -minimize

      【讨论】:

      • 这很有用,但这不是 OP 所要求的......基本上 OP 想要一种方法,将笔记本电脑用作瘦客户端,在另一台机器上远程完成所有处理
      • 可以创建一个服务来远程运行他们的 .m 文件(使用我上面发布的技巧),并让一个带有 GUI 的本地 MATLAB 应用程序与该远程服务通信。不确定 MATLAB 是否通过某些工具箱提供了开箱即用的此类功能(将处理卸载到远程机器)(会很高兴)
      猜你喜欢
      • 2023-03-17
      • 1970-01-01
      • 2018-11-06
      • 1970-01-01
      • 2016-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-09
      相关资源
      最近更新 更多