Filling a 3d matrix from columns
4 次查看(过去 30 天)
显示 更早的评论
say we create a empty 3d matrix
A= zeros(30,30,361)
I have variable Pix, a 361 x 12 double matrix, were each column is the length of 361 data point. There are 12 samples columns, How would i randomly grab each column sample and fill the zeros matrix "A" so that all 361 data points in the 12 column lay on the matrix in 1 x 1 x 361 until it has filled all 30 x 30 positions.
0 个评论
采纳的回答
Joseph Cheng
2014-9-10
so you can use randi(12,30,30) to generate a 30x30 matrix of values 1 to 12 to select which of the 12 columns to place in the row/column location. then use for loops to go through each index and specify the column.
example:
x = rand(361,12);
randcolumn = randi(12,30,30);
A = zeros(30,30,361);
for ind = 1:30
for jnd = 1:30
A(ind,jnd,:) = x(randcolumn(ind,jnd));
end
end
1 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!