How to sum columns of multiple matrices?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sashank Jammalamadaka
el 2 de Feb. de 2017
Comentada: Sashank Jammalamadaka
el 3 de Feb. de 2017
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
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
el 3 de Feb. de 2017
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
Más respuestas (0)
Ver también
Categorías
Más información sobre Operating on Diagonal Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!