我如何在matlab中制作的独立应用程序之外运行脚本?

时间:2012-07-08 06:51:44

标签: matlab

我在matlab中有一个独立的应用程序。它获取文件名作为输入,需要运行此文件。 该文件与独立应用程序位于同一路径上。

THX, 麦克

3 个答案:

答案 0 :(得分:0)

您可以使用-a选项编译其他文件。

例如,使用此命令,您可以从独立应用程序调用当前目录中的任何.m文件:

mcc -m myscript.m -a *.m

答案 1 :(得分:0)

听起来你正在寻找SYSTEM功能。您可以将任何变量作为字符串传递给它:

s = 'ls';  % use 'ls' for Mac/Unix, 'dir' for Windows
[status, result] = system(s);

此处status是操作系统状态代码(0表示程序退出时没有错误),result是程序的输出:

>> status

status =

     0

>> result

result =



total 928
-rw-r--r--   1 stew  stew       0 Jul 24  2009 PROJECT_BASE
drwxr-xr-x  48 stew  stew    1632 Mar 17  2011 analysis
-rw-r--r--   1 stew  stew    1944 Oct  4  2010 diff1
drwxr-xr-x  29 stew  stew     986 Sep 24  2011 matlab
drwxr-xr-x  11 stew  stew     374 Aug  5  2009 matlab_old
-rw-r--r--   1 stew  stew   62525 Jul  6  2010 nms.mat
-rw-r--r--   1 stew  stew  111423 Jul  7  2010 nms1.mat
drwxr-xr-x  52 stew  stew    1768 Mar  2  2010 p60_analysis
drwxr-xr-x   4 stew  stew     136 Mar 26 23:08 sims
-rw-r--r--   1 stew  stew    2212 Jan 29  2010 startup.m
-rw-r--r--   1 stew  stew  264635 Jun 13 18:22 test.bundle
-rw-r--r--   1 stew  stew     128 Sep 24  2010 testlatt.m
-rw-r--r--   1 stew  stew    4618 Jun 15  2011 tt-conn-ERRSTATE.mat
-rw-r--r--   1 stew  stew    6221 Jun 13 17:50
update_2012_June_13.bundle
drwxr-xr-x   4 stew  stew     136 Jun 13 18:28 videos

注意:如果程序不在您的可执行文件路径中,您可能需要指定其绝对路径:

s = '/usr/bin/ls';
[status, result] = system(s);

答案 2 :(得分:0)

我想我问了一个类似的问题而且无法得到一件衣服。

Is it possible to execute compiled code both within and out of MATLAB environment?

我认为这是不可能的,因为Mathworks不希望您分发免费的Matlab解释器。我想知道是否可以分别编译两组M文件并从第一组运行第二组作为解决方法。