如何从matlab中的独立应用程序运行外部脚本?
我在matlab中有一个独立的应用程序。它获取一个文件名作为输入,需要运行此文件。 该文件与独立应用程序位于同一路径上 thx,如何从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] =
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
添加该脚本,则无法从独立应用程序中执行该脚本。问题是添加了新脚本,我不会每次编译整个应用程序。如果不重新编译,则无法执行该脚本。