Info
Questa domanda è chiusa. Riaprila per modificarla o per rispondere.
quick syntax question for saving run time
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I have the following:
m1 = rand(5,5)
m2 = rand(5,5)
m3 = rand(5,5)
m4 = rand(5,5)
m3D = cat(3, m1, m2, m3, m4);
% Find the min and a map of what matrix it occurred in.
[min2DImage matrixWhereItOccurs] = min(m3D, [], 3)
Now I would like to have accumlation array where I update that array by adding one to the 3rd dimension with index referenced from matrixWhereItOccurs
sz = sz(m3D);
accum_arr = zeros(sz(1),sz(2),sz(3)
Let's say matrixWhereItOccurs(2,3)=4, then accumm_arr(2,3,4)=accum_arr(2,3,4)+1; I want to do this for ALL elements now without going into loop as in my work the arrays are huge.Could you please help? Thanks
Risposte (1)
Honglei Chen
il 18 Set 2012
Modificato: Honglei Chen
il 18 Set 2012
ind = sub2ind(sz,repmat((1:sz(1))',1,sz(2)),repmat(1:sz(2),sz(1),1),...
matrixWhereItOccurs);
accum_arr(ind(:)) = accum_arr(ind(:))+1;
0 Commenti
Questa domanda è chiusa.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!