MATLAB: Question sur la façon d’éviter d’utiliser eval

Bonjour à tous.
J’ai appris que l’utilisation de « eval » n’est pas efficace et peut causer plusieurs problèmes. J’ai beaucoup utilisé « eval » dans mes codes précédents.
Si je veux remplacer l’expression suivante sans utiliser « eval », quelqu’un pourrait-il m’aider? Merci beaucoup.
 
for jjjj=1:5
for iiii=1:40
for kkkk=1:3
x1(kkkk,:) = (1:10)*kkkk;
eval(['Resp.Phi',num2str(jjjj),'.Mu',num2str(iiii),'.Respx1(kkkk,:) = x1(kkkk,:);']);
end
end
end
 

Meilleure réponse

  •  

    Resp.(sprintf('Phi%d',jjjj).(sprintf('Mu%d',iiii)),.Respx1(kkkk,:) = x1(kkkk,:);