Multiply a set of matrices (3D array) by a vector of values
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
SuperNano
il 7 Lug 2016
Commentato: SuperNano
il 7 Lug 2016
I have a 3D array (a) such that size(a) = [n,n,m]. I also have a vector (v) of length(v) = m. I would like to multiply each element from my vector with each 2D matrix in my array. Is there a way to do this without a for loop. To clarify, using a for loop it would be:
for i = 1:m
b(:,:,i) = v(i)*a(:,:,i);
end
0 Commenti
Risposta accettata
Azzi Abdelmalek
il 7 Lug 2016
Modificato: Azzi Abdelmalek
il 7 Lug 2016
% -------Example-----------------
M=randi(3,3,2,4)
v=1:4
%--------------------------------
bsxfun(@times,M,reshape(v,1,1,4))
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrices and Arrays in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!