La cosa migliore che puoi fare è modificare la parte del codice che genera le matrici che poi vuoi sommare.
Leggendo l'altra domanda che hai pubblicato, mi sembra, ma potrei sbagliarmi, che generi le matrici usando la funzione "eval".
Se è così, questa è l'ennesima dimostrazione di quanto sia "rischioso" usarla: ti consente, apparentemente facilmente, di creare delle variabili in modo automatico, ma, poi, non sei in grado di gestirle (a meno di non continuare ad usare "eval").
Se, come hai scritto, sono matrici (M x N), potresti creare una matrice (M x N x P) avresti, così, "P" matrici (M x N) in unica matrice che puoi successivamente sommare.
% Creazione della matrice a 3 Dimensioni
M(:,:,1)=randi(10,2,3)
M(:,:,2)=randi(10,2,3)
M(:,:,3)=randi(10,2,3)
M(:,:,4)=randi(10,2,3)
% Somma delle matrici
MM=sum(M,3)
Un'altra possibilità, appena un po' più complicata, potrebbe essere creare una assegnare le varie matrici, quando vengono create ad una struttura.
Il vantaggio delle strutture in MatLab è che puoi definire i nomi dei suoi campi in modo "automatico" (quasi come faresti con "eval") e che esiste, tra le altre, una funzione che ti restituisce i nomi dei campi.
% Creazione di delle matrici e loro assenazione ai campi di una matrice
for i=1:4
str_mat.(['m_' num2str(i)])=randi(10,2,3)
end
% Identrificazione dei nomi dei campi della struttura
mat_names=fieldnames(str_mat)
% Loop per la somma delle varie matrici
s=0
for i=1:length(mat_names)
s=s+str_mat.(mat_names{i})
end