Мне нужно повторить этот код много раз. Это часть системного тестера.Инкапсулирующий код с анонимными функциями в 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);
};
но
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.
я не знаю, но это выглядит как Matlab не принимает анонимные функции этого большого размера. Итак, как использовать анонимные функции для инкапсуляции больших кодов не только таких вещей, как [email protected](x) x+1
? Единственный способ для инкапсуляции здесь создать новый файл?
[Обновить] не работает, можно сделать это в исполнение?
[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)
Код имеет повторяющийся шаблон, обновленный. Можно ли превратить его в казнь? – hhh
не имеет значения, вы не можете добавить несколько выражений в анонимную функцию. Кроме того, почему бы не просто создать регулярную функцию? – Amro