使用另一个执行一个Matlab文件




这可能是一个非常基本的问题,但我没能找到答案。

我正在尝试运行一个matlab代码,该代码有两个参数传递给它:
1.现有matlab代码的名称
2.一个整数
这将是我在Matlab-的命令窗口中运行的命令

>> auto_caller mytest.m 10

这里auto_caller是主代码,它应该执行文件mytest.m10次。

这就是我尝试的

function [arguments] = auto_caller(filename, iterations)
    for i = 0 : str2num(iterations)
         filename
    end
end

但当我运行它时,输出只是-

mytest.m
mytest.m
mytest.m
mytest.m
mytest.m
mytest.m
mytest.m
mytest.m
mytest.m
mytest.m

有人能帮我解决这个问题吗
谢谢,
Shreedhar

与其传递包含函数的matlab源文件的名称,不如传递一个函数句柄:

auto_caller @mytest 10

这与Mathworks提供的优化算法接受目标函数、GUI小部件接受事件回调函数等的方式相同。

一个简单的解决方案:

使用run(scriptname_here)

您可以使用eval函数调用文件

function runScript(file,n)
    for i = 1:n
       eval(strrep(file,'.m','')) 
    end
end

最新更新