How to sum columns of multiple matrices?

I have 32 column matrices of different names to be added separately. Is it possible to write a loop to do it instead of writing Sum1 = sum(VarName2)... and so on for 32 matrices?
I have matrices named VarName2, VarName3, ..., VarName33. I tried using the following loop;
for i = 1:32
sum(i)= sum(VarName(i));
end
and it returned the error "Undefined function or variable 'VarName'". So, needed help with this.

 Respuesta aceptada

Niels
Niels el 3 de Feb. de 2017
Editada: Niels el 3 de Feb. de 2017
final_sum=0;
for i= 1:32 % splitted command as string: sum(VarNamei)
final_sum=final_sum + evalin('base', ['sum(VarName', num2str(i) ,')']);
end
the sum of all vectors (if sum is used on a matrix, the result will be a row vector) ...
just tell me if it works, i had no problem using it.

3 comentarios

Niels
Niels el 3 de Feb. de 2017
Editada: Niels el 3 de Feb. de 2017
not calling any indices, you must have changed something in the code... if they run from 2:32 why did you change it to i=2:33?
i created VarName2 ... VarName33 and run the code without error.
what is the size of your matrices VarName2 and so one
chnged the code so that final_sum is a 32x1 vector where final_sum(i) contains the sum of VarName2+...VarNamei
final_sum = zeros(32,1);
final_sum(1) = VarName2;
for i= 3:33 % splitted command as string: sum(VarNamei)
final_sum(i-1) = final_sum(i-2) + evalin('base', ['sum(VarName', num2str(i) ,')']);
end
Sashank Jammalamadaka
Sashank Jammalamadaka el 3 de Feb. de 2017
Thank You, it worked!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by