Create an array from others matrix

1 次查看(过去 30 天)
I need to put "a" matrix one below the other in a single matrix. That is, I need to place in a matrix of dimension a*b x N, where the first b rows correspond to sec=1, from row b+1 to row 2b+1 the second matrix corresponding to sec=2, and so on.
For example for this code:
a=100;
b=5;
N=8;
for sec=1:a
PM=rand(b,N)
end
I want to create the matrix of dimension 500x8, formed by the 100 matrix generated, where the first 5 rows correspond to the matrix obtained for sec = 1, from row 6 to row 11 the second matrix corresponding to the matrix obtained for sec = 2, and so on.
  3 个评论
Romina
Romina 2019-10-14
My data comes from another code and not from this. In the original code something similar happens, then, for every second i get a 1000 x 1000 matrix.
There were only five rows for the first second and five rows for sec 2. It's 6-10 and not 6-11 as i said before
Bob Thompson
Bob Thompson 2019-10-14
Ok, well the indexing on 'data' should be what you're looking for. I can't write the right hand side of the equation for you because I don't know what it looks like.

请先登录,再进行评论。

采纳的回答

Fabio Freschi
Fabio Freschi 2019-10-14
You can just append the matrices as they come.
a=100;
b=5;
N=8;
% inital empty matrix
PM = [];
% your loop
for sec=1:a
PM = [PM; rand(b,N)];
end
  6 个评论
Romina
Romina 2019-10-14
Yes! That is exactly what I needed! Thank you very very much!
Fabio Freschi
Fabio Freschi 2019-10-14
My pleasure! If my answer solve your original problem, please accept it!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by