我在matlab中有一个独立的应用程序。它获取文件名作为输入,需要运行此文件。 该文件与独立应用程序位于同一路径上。
THX, 麦克
答案 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文件并从第一组运行第二组作为解决方法。