Assembly of matrices using for loop

5 visualizaciones (últimos 30 días)
Gethal
Gethal el 30 de Oct. de 2014
Respondida: Gethal el 30 de Oct. de 2014
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?

Respuestas (1)

Gethal
Gethal el 30 de Oct. de 2014
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

Categorías

Más información sobre Loops and Conditional Statements 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!

Translated by