Info
Cette question est clôturée. Rouvrir pour modifier ou répondre.
quick syntax question for saving run time
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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
Réponses (1)
Honglei Chen
le 18 Sep 2012
Modifié(e) : Honglei Chen
le 18 Sep 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 commentaires
Cette question est clôturée.
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!