Ich habe eine Schleife, die den Mittelwert (m
), Standardabweichung (std
) und Standardfehler (sem
) für mehrere Bedingungen berechnet. Da jede Bedingung eine eigene m
, std
und sem
hat, möchte ich meine Ausgabe entsprechend benennen (sie sollten im Doppelformat sein). Zum Beispiel: cond1_m
, cond1_std
, cond1_sem
, cond2_m
, cond2_std
, cond2_sem
usw.Variablennamen dynamisch ändern
Das ist, was ich versucht:
cond={'cond1','cond2','cond3','cond4','cond5',...}
for a=1:length(cond)
[strcat(cond{a},'_m'),strcat(cond{a},'_std'),strcat(cond{a},'_sem')]=compute_stats(M(:,a));
end
Hinweis: compute_stats
ist die Funktion, die m
, std
und sem
ausgibt. M
ist die Matrix, die meine Daten enthält. Das Problem ist, dass die strcat
scheint nicht zu funktionieren, um den Namen meiner Ausgabe zu ändern. Zum Beispiel für Iteration 1, anstatt mir cond1_m
zu geben, ist meine Ausgabe eine Matrix namens strcat.
Kann jemand helfen?
Bitte [verwenden Sie nicht 'eval' in Matlab] (http://stackoverflow.com/questions/32467029/how-to -senden-diese-Bilder-zusammen). Ich schlage vor, eine Struktur mit dynamischen Feldnamen zu verwenden, mit der Syntax 'condstruc. ([Num2str (a), '_m'])' usw. –