Clear Filters
Clear Filters

How to sum columns of multiple matrices?

5 views (last 30 days)
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));
and it returned the error "Undefined function or variable 'VarName'". So, needed help with this.

Accepted Answer

Niels on 3 Feb 2017
Edited: Niels on 3 Feb 2017
for i= 1:32 % splitted command as string: sum(VarNamei)
final_sum=final_sum + evalin('base', ['sum(VarName', num2str(i) ,')']);
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.
Niels on 3 Feb 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) ,')']);

Sign in to comment.

More Answers (0)


Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!