2012-05-05 4 views
1

je voudrais vectoriser le calcul de la sommeVectorisation de code pour calculer une somme

A{1} + A{2} + ... + A{end}

A est une matrice de cellules de vecteur et chaque A {i} est une matrice numérique nxn.

Il y a plusieurs façons de coder mon chemin à travers cela, mais je me demandais s'il y en avait une qui convenait parfaitement à une ou deux lignes de code.

Répondre

4

Vous pouvez concaténer d'abord, puis additionnez le long de la 3ème dimension:

[A{1:3}] = deal(ones(4)); %# each element of the cell array contains a 4-by-4 array of ones 

out = sum(cat(3,A{:}), 3); %# catenate, then sum 
+0

Cest génial, merci – niels