Large binned matrix reshape
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Avik Mahata
am 8 Okt. 2021
Kommentiert: Image Analyst
am 9 Okt. 2021
I was trying to find a similar solution to my problem, but I couldn't find any exact solution. I have a large matrix of 2000x100, similar data is binned in to 10 different matrices. Each of the bins are 2000x10.
That matrix is right now, bin1(2000x10) bin2 (2000x10) ......... bin10(2000x10).
I am trying to reshape the such a way that it will be ,
bin1 (2000x10)
bin2 (2000x10)
.
.
.
bin10. (2000x10)
So I should be ending up with a dataset of 20000x10. The bins need to be converted in the same sequence.
0 Kommentare
Akzeptierte Antwort
Matt J
am 8 Okt. 2021
Bearbeitet: Matt J
am 8 Okt. 2021
tmp=num2cell(reshape(yourMatrix,200,10,10),[1,2]);
result=vertcat(tmp{:});
2 Kommentare
Image Analyst
am 9 Okt. 2021
Not sure why going to a cell array, tmp, was necessary. Since you said your "data is binned in to 10 different matrices" of size 2000 x 100 (which is not large by the way) then why can't you simply combine your 10 different matrices like this:
% Vertically stack the "10 different matrices" that the user has:
allBins = vertcat(bin1, bin2, bin3, bin4, bin5, bin6, bin7, bin8, bin9, bin10);
as I suggested in my answer? Why convert each matrix into a cell array?
Weitere Antworten (1)
Image Analyst
am 8 Okt. 2021
Wouldn't it just be
% Vertically stack the "10 different matrices" that the user has:
allBins = vertcat(bin1, bin2, bin3, bin4, bin5, bin6, bin7, bin8, bin9, bin10);
??? Or is that not the ordering you wanted?
0 Kommentare
Siehe auch
Kategorien
Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!