如何从matlab中的独立应用程序运行外部脚本?

如何从matlab中的独立应用程序运行外部脚本?,matlab,Matlab,我在matlab中有一个独立的应用程序。它获取一个文件名作为输入,需要运行此文件。 该文件与独立应用程序位于同一路径上 thx, Mike.您可以使用-a选项编译其他文件 例如,使用此命令,您可以从独立应用程序调用当前目录中的任何.m文件: mcc -m myscript.m -a *.m 听起来你在寻找这个函数。您可以将任何变量作为字符串传递给它: s = 'ls'; % use 'ls' for Mac/Unix, 'dir' for Windows [status, result] =

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

thx,
Mike.

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

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

mcc -m myscript.m -a *.m

听起来你在寻找这个函数。您可以将任何变量作为字符串传递给它:

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);

我想我问了一个完全相同的问题,但没有得到答案


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

我可以不编译吗?例如,我可以运行这样的隐式文件:“!filename”,但我找不到一种方法在传入输入时发出该命令。我想做的是:T=FileNameInputFromUser(M file)!我不明白你在说什么。。。。如果您像我上面所说的那样,您可以将任何脚本名称作为输入,并从您的独立应用程序启动它。如果要启动的脚本在编译时不存在,或者未使用
-a
添加该脚本,则无法从独立应用程序中执行该脚本。问题是添加了新脚本,我不会每次编译整个应用程序。如果不重新编译,则无法执行该脚本。