在文件的subdir / path中运行Matlab函数(* .m)代表变量

时间:2014-02-10 14:00:42

标签: matlab function arguments

我想运行一个函数“folder / test.m”。该路径位于变量“var_path”中。如何使用参数运行该函数?

3 个答案:

答案 0 :(得分:1)

您可以使用system command

例如:

sys_com = ['C:\path\to\matlab.exe ', var_path, ' ', parameter1, ' ', parameter2];
system(sys_com);

第一行创建一个命令作为字符串(参数应该是字符串)。第二行执行该字符串。

答案 1 :(得分:0)

您可以将目录更改为var_path,然后将test作为常规功能运行。 或者,您可以在路径中添加var_path并运行test

答案 2 :(得分:0)

Matlab不允许包含函数文件(例如在C / C ++中)。实现类似的东西有两种可能性:

  1. 在脚本执行期间更改文件夹
  2. 更改搜索路径以使函数文件对Matlab解释器可见
  3. 1的示例:

    cur_dir = pwd; % save current directory
    cd(var_path);  % change to directory containing the function
    test(a, b);
    cd(pwd);       % change back to original directory
    

    当然,这可能会产生不必要的副作用,例如:如果您的脚本依赖于当前目录中的其他文件或者您写入文件。

    2的例子:

    cur_path = path(); % save current path variable
    addpath(var_path); % add function path to Matlab path
    test(a, b);
    setpath(cur_path); % restore original path variable