2015-07-27 1 views
0

J'utilise Matlab.Comment définir des arguments de fonction pour exécuter différents ensembles de fichiers m?

J'ai une fonction principale main.m. Et j'ai deux ensembles de m-fichiers, nommés:

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

Y at-il des méthodes telles qu'il peut réaliser main(triangle) peut exécuter des fichiers m dans l'ensemble A tout main(square) peut exécuter des fichiers m-série B?

Merci à l'avance

Répondre

2

Pour exécuter un script Matlab stocké dans un m-fichier, vous pouvez utiliser run. Avec une instruction switch, il est facile de déterminer quel jeu doit être utilisé. Ensuite, nous pouvons parcourir tous les fichiers de l'ensemble donné et exécuter les scripts.

La fonction suivante peut être appelée avec main('triangle') et 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 
+1

Merci. Cela fonctionne parfaitement. – nam