how to create 200 random matrices using loop..
이전 댓글 표시
Hi..I want to create separate 200 random matrices of size 32*32 , and each to be multiplied with my input matrix..whether any looping is possible here ..please help ..
thank in advance
채택된 답변
추가 답변 (1개)
Matz Johansson Bergström
2014년 8월 23일
I have not tried it but something like this:
n=200;
tmp = rand(32,32,n);
and then to multiply each matrix
for i=1:n
in = in*tmp(:,:,i)
end
댓글 수: 2
Abhishek sadasivan
2014년 8월 23일
Matz Johansson Bergström
2014년 8월 23일
편집: Matz Johansson Bergström
2014년 8월 23일
I would argue that this is possible and very simple using a 3D matrix. The data is stored in another way, that's all and very efficient, because Matlab is made for matrices. For small matrices this does not really matter, but for larger ones it might make a difference.
My suggestion stacks the matrices into a 3d matrix and you can simply pick out the matrices like you would any other data structure.
Also, to sum all the matrices, you just have to write
sums = squeeze(sum(sum(tmp)))
This gives you the sum of all the elements in each matrix as a vector. Sums(i) contains the sum of matrix i.
카테고리
도움말 센터 및 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!