Sum repetition in matrices

Hi everyone,
Suppose I have matrix d1, d2, d3, d4, d5:
d1 = [0 0 0 1;0 0 0 0]; % input data
d2 = [0 0 0 0;1 0 0 0]; % input data
d3 = [0 1 0 0;0 0 0 0]; % input data
d4 = [0 0 0 0;1 0 0 0]; % input data
d5 = [0 0 0 0;0 0 1 0]; % input data
and matrix c:
c = [10 12 14 5;1 4 9 15];
Then I want matrix m to be:
m1=c+d1
m2=c+d1+d2 % In other words, in each iteration, the new matrix d should be summed with previous one (same for rest of calculation)
m3=c+d1+d2+d3
m4=c+d1+d2+d3+d4
m5=c+d1+d2+d3+d4+d5
Can anyone please help me?
Note: matrix d is generated with another loop automatically which is dependent to output of matrix m (sum(sum(m)).

2 Comments

What's wrong with that way? Why do you need a loop?
@ Image Analyst
Actually, I have over than 10,000 of matrix "d", and each of them will be calculated after calculation each matrix "m" (sort of convergence problem).

Sign in to comment.

 Accepted Answer

This works:
d(:,:,1) = [0 0 0 1;0 0 0 0];
d(:,:,2) = [0 0 0 0;1 0 0 0];
d(:,:,3) = [0 1 0 0;0 0 0 0];
d(:,:,4) = [0 0 0 0;1 0 0 0];
d(:,:,5) = [0 0 0 0;0 0 1 0];
c = [10 12 14 5;1 4 9 15];
m(:,:,1) = c;
for k1 = 2:size(d,3)+1
m(:,:,k1) = m(:,:,k1-1) + d(:,:,k1-1);
end
m = m(:,:,2:end) % Result for ‘m’

2 Comments

Thanks Star. It was great!
My pleasure!

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

Moe
on 28 Apr 2014

Commented:

on 28 Apr 2014

Community Treasure Hunt

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

Start Hunting!