如何设置函数参数来执行不同的m文件集?

时间:2015-07-27 08:51:43

标签: matlab calling-convention

我正在使用Matlab。

我有一个主要功能main.m。我有两组m文件,名为:

Set A = {Area_triangle.m, Perimeter_triangle.m}
Set B = {Area_square.m, Perimeter_square.m}

是否有任何方法可以实现main(triangle)可以在集合A中执行m文件,而main(square)可以在集合B中执行m文件?

提前致谢

1 个答案:

答案 0 :(得分:2)

要运行存储在m文件中的Matlab脚本,可以使用run。使用switch语句,可以很容易地确定应该使用哪个集合。然后我们可以迭代给定集合中的所有文件并执行脚本。

可以使用main('triangle')main('square')调用以下函数:

function main(shape)

A = {'Area_triangle.m', 'Perimeter_triangle.m'};
B = {'Area_square.m', 'Perimeter_square.m'};

switch shape
    case 'triangle'
        S = A;
    case 'square'
        S = B;
    otherwise
        error('Shape not defined!');
end

for i = 1:length(S)
    run(S{i})
end