Je dois répéter ce code plusieurs fois. Cela fait partie du système-testeur.Encapsuler du code avec des fonctions anonymes dans Matlab?
[email protected](fBE,fMCS,CI)
{
d='FV';
dF=strcat('testing/systemTestFiles/D_', fBE, '_', fMCS, '_', d, '.txt');
bepo(fBE,CI,fMCS,d,dF,oF);
d='B';
oF=strcat('testing/systemTestFiles/O_', fBE, '_', fMCS, '_', d, '.txt');
bepo(fBE,CI,fMCS,d,dF,oF);
};
mais
Error: File: systemTester.m Line: 3 Column: 6
The expression to the left of the equals sign is not a valid target for an
assignment.
Je ne sais pas, mais il semble que Matlab n'accepte pas les fonctions anonymes de cette grande taille. Alors, comment utiliser des fonctions anonymes pour encapsuler des codes plus grands, pas seulement des choses comme [email protected](x) x+1
? Est-ce que le seul moyen pour l'encapsulation est de créer un nouveau fichier? [Mise à jour] ne fonctionne pas, il est possible d'en faire une exécution?
[email protected](fBE,fMCS)for d=1:2
for CI=0:0.25:1
if d==1
d='FV';
else
d='B';
end
oF=strcat('testing/systemTestFiles/O_', fBE, '_', fMCS, '_', d, '.txt');
bepo(fBE,CI,fMCS,d,dF,oF);
end
end;
fBE='TestCase1 BE Evendist v2.txt';
fMCS='TestCase1 MCS.txt';
test(fBE,fMCS)
Le code a un motif répété, mis à jour. Est-il possible d'en faire une exécution? – hhh
n'a pas d'importance, vous ne pouvez pas mettre plusieurs instructions dans une fonction anonyme. D'ailleurs pourquoi ne pas simplement créer une fonction régulière? – Amro