Assembly of matrices using for loop

Hello everyone! I am trying to make an assembly of matrices. I want to run a for loop that will continuously add to an assembly. For example:
as = [1 1;1 1]
for i=1:2
k = [1 2;3 4]
as = as + k %That "+" should not be addition but assembly
end
If you don't know what assembly is, for the previous case it should look something like this:
as = 1 1 0 0
1 2 2 0
0 3 5 2
0 0 3 4
In other words it is sort of like joining the matrices but by adding the lower right corner of the first with the upper left corner of the second and so on. And fills the rest with zeros. The size is (i+2) by (i+2) in this case. Any idea how to do this?

Antworten (1)

Gethal
Gethal am 30 Okt. 2014

0 Stimmen

I got it. Use something like this.
h = 2
as = zeros(h+1);
k = [1 2;3 4]
for i = 1:h
as(i:i+1,i:i+1) = as(i:i+1,i:i+1) + k
end

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 30 Okt. 2014

Beantwortet:

am 30 Okt. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by