问题标签 [matlab-engine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - 使用MATLAB引擎时如何获取matlab的PID?
使用MATLAB Engine接口时,如何获取启动的matlab进程的进程ID?或者我怎样才能以一种允许我也获得 PID 的方式启动 matlab 进程?
我需要这个的原因是能够在计算时间过长时中断计算。在 *nix 系统上,这似乎通过向 MATLAB 发送 SIGINT 信号来工作。这不会杀死 MATLAB,但会中断当前的计算。
windows - 在 Windows 上以编程方式中断 MATLAB
通过 GUI 使用 MATLAB 时,我可以通过按Ctrl-来中断计算C。
通过MATLAB Engine C API使用 MATLAB 时,有没有办法以编程方式执行相同的操作?
在 Unix 系统上有一个解决方案:发送一个 SIGINT 信号。这不会杀死 MATLAB。它只会中断计算。我正在寻找适用于 Windows 的解决方案。
澄清(看到唯一的回答者误解了):
我正在寻找一种方法来中断任何 MATLAB 计算,而无需控制正在运行的 MATLAB 代码。我正在寻找在 Windows 系统上的 MATLAB 命令窗口中按Ctrl- in 的程序等效项。C这是针对Mathematica-MATLAB 接口的:我需要将中断从 Mathematica 转发到 MATLAB。如上所述,我已经在 Unix 上有了一个可行的实现;这个问题是关于如何在 Windows 上进行的。
c++ - MATLAB 代码和 C/C++ 集成中的致命错误
我使用来自 mathworks 网站的示例代码通过链接将 MATLAB 代码与 C/C++ 集成!
正如您在代码中看到的,头文件如下:
#include "engine.h"
在 Linux (Ubuntu) 中,我运行:
g++ engdemo.cpp -o mycpp
命令来创建可执行程序,但出现以下致命错误:
engdemo.cpp:14:20:致命错误:engine.h:没有这样的文件或目录,编译终止。
我该如何解决这个致命错误?
c++ - 如何解决“无法启动 MATLAB 引擎”命令?
(1) 首先,我创建了一个 Makefile 如下:
(2) 我用'make'命令运行它并给出以下输出:
(3) 然后,我跑了:
(4) 最后,我运行了./engdemo,其输出为:
无法启动 MATLAB 引擎
如何启动 MATLAB 引擎?
matlab - 在 matlab 引擎的命令窗口上显示文本
如何在 matlab 引擎的命令窗口上显示文本?
我曾经engSetVisible
使引擎命令窗口可见,但是在此窗口中看不到任何文本后,该怎么做?
我不想使用engOutputBuffer
,然后处理这个缓冲区。我只想查看engEvalString
引擎命令窗口的输出
xcode - 如何将 MATLAB 与 XCode 连接
我目前正在开发一个需要 MATLAB 分类算法的 iOS 项目的一部分。我曾尝试在 XCode 上构建引擎应用程序,但在运行时它由于此错误而崩溃:
到目前为止,我按照http://www.mathworks.com/support/solutions/en/data/1-4CKF73/?solution=1-4CKF73的说明进行操作。
任何有 MATLAB-XCode 接口帮助经验的人?
太感谢了!
c++ - 使用 Matlab 引擎的多线程 C++ 应用程序
我在初始化线程中打开 Matlab 引擎,执行以下操作:
函数engOpen()
打开一个到 Matlab 的 COM 通道。一旦引擎打开,线程就会进入等待事件模式。
然后,在另一个线程中,我这样做:
我得到一个CoInitialize has not been called
第一次机会异常engEvalString( MatlabEngine, cPathToScript );
,似乎告诉我 Matlab COM 服务器不可用(但 Matlab 引擎仍在运行)。
当我把所有东西都放在同一个线程中时,它工作得很好,但这不是我想到的那种设计。
我发现 Matlab 引擎文档缺少有关引擎+COM 的信息。知道如何在单独的线程中进行引擎初始化和函数调用吗?
谢谢 !
按照 RobH 的回答进行编辑
我将此方法添加到我的课程中(在第二个线程中实例化):
现在,当我打电话时,engEvalString( MatlabEngine, cPathToScript );
我得到The application called an interface that was marshalled for a different thread
了第一次机会例外 :) 今天早上我玩得很开心!:)
那么,CoMarshalInterface()
?
matlab - Matlab 引擎和 disp() 函数
我有一个脚本需要一些时间才能执行。我使用 Matlab 引擎在 C++ 函数中启动它。为了监控脚本的执行,我想在其中添加一些disp('still alive')
。但是,它不起作用,由 engOpen 打开的 matlab 命令窗口中没有显示任何内容(是的,我确定脚本正在运行,因为我在执行结束时获得了输出文件)。
知道如何让它工作吗?
此外,是否可以在脚本运行时使用 engOutputBuffer 在 Windows 命令中获取此类心跳?
谢谢 !
c++ - 将 Matlab 与 C++ 链接时出错
我正在尝试在 C++ 程序中使用 Matlab 库:
我使用包含MATLABROOT\extern\include
目录的 g++ 编译我的项目并出现以下错误:
我想我在链接一些 Matlab 库时遇到了问题。
更新:我对 VS2012 和 windows 编译器有同样的问题。extern\include
包含到的目录,与添加到链接器Additional include directories
相同。根据@jucestain 评论,该文件添加到链接器选项中。extern\lib\win64\microsoft
Additional library dependencies
libeng.lib
Additional dependencies
更新 2:我们检测到一个兼容性问题:32 位 gcc 不适用于 64 位 Matlab 引擎。因此,我将/extern
32 位 Matlab 中的文件夹与我的/extern
文件夹合并,将包含的链接器库更改为/extern/lib/win32/lcc
,并且我的代码已成功编译。感谢@aircooled!
c++ - 尝试使用标头从 C++ 访问 matlab
我正在尝试编译一个包含 Matlab 提供的引擎头文件的 c++ 程序。文件 MLP.cpp 包含:
并引用下面错误中突出显示的 matlab 函数。运行时:
我收到以下错误:
我还尝试将编译命令更改为: