Bonjour,
Alors voilà, j'aimerai effectuer cette opération:
j'ai un vecteur de scalaire (scal) pour T observations.
Pour T observations j'ai une matrice B 2*T et sa transposée T*2.
J'aimerai faire la somme allant de 1 à T de scal(t)*Bt*'Bt.
J'ai pensé à une boucle:
1 2 3
| for t = 1:T,
A = A + scal(t)*B(:,t)*B(:,t)'
end |
Mais Matlab n'aime pas les boucles.
Y a t'il un moyen de faire plus simple?
A = sum(scal(1:Tprim)*dparB(:,1:Tprim)*dparB(:,1:Tprim)');
Ne fonctionne pas car il y a un problème de dimension entre le scal et la matrice ce que je comprend parfaitement.
Merci d'avance,
cordialement
SpacedCb
PS: je n'ai pas réussi à faire du code latex, ça n'est pas possible sur le fofo?
Edit: pour ce qui est de la multiplication, je veux que chaque observation de ma matrice B soit multiplié par le scalaire correspondant mais pour chaque ligne) B = [scal(1)*B(1,1) ... scal(T)*B(1,T) ; scal(1)*B2(2,1) ... scal(T)*B(2,T)]
Partager