Matlab 运行C++;从一个m文件中提取程序

Matlab 运行C++;从一个m文件中提取程序,matlab,Matlab,对于我正在进行的一个项目,我在MATLAB中准备数据,然后通过名为Model v2.exe的单独外部应用程序(用C++编写)运行数据,然后在MATLAB中对输出进行进一步分析。我正在尝试创建一个M-文件,它完成了所有这些任务,但是我正在努力让C++程序从我的MATLAB代码中启动。 如何从MATLAB代码中启动外部应用程序?您可以使用运算符或系统()命令 首先,将应用程序重命名为名称中没有空格的名称,如modelv2.exe。接下来,请确保它位于系统环境变量定义的系统路径中,或者生成指向它的完整

对于我正在进行的一个项目,我在MATLAB中准备数据,然后通过名为
Model v2.exe
的单独外部应用程序(用C++编写)运行数据,然后在MATLAB中对输出进行进一步分析。我正在尝试创建一个M-文件,它完成了所有这些任务,但是我正在努力让C++程序从我的MATLAB代码中启动。
如何从MATLAB代码中启动外部应用程序?

您可以使用
运算符或
系统()
命令

首先,将应用程序重命名为名称中没有空格的名称,如
modelv2.exe
。接下来,请确保它位于系统环境变量定义的系统路径中,或者生成指向它的完整路径(例如:
C:\Users\Phil\Desktop\modelv2.exe

您可以使用感叹号或系统命令从命令行调用可执行程序:

!modelv2
或:

如果当前目录或系统路径中存在这样的文件,将导致Windows执行hello.exe程序。或者:

system('modelv2');

我也会做同样的事情

参考资料


  • “MATLAB Central-在windows下调用并运行MATLAB中的外部程序”,访问日期2014-03-19

  • 谢谢Dogbert,非常好的帮助。如果外部程序需要输入参数,会发生什么?那么,它是如何完成的呢?只是猜测:如果外部C++应用程序也是你的,你也可以把它构建为一个共享库,并直接从MATLAB调用它。这比发出
    system()
    调用的开销要少得多。
    system('modelv2');
    
    system('C:\Users\Phil\Desktop\modelv2.exe');