Azzera filtri
Azzera filtri

Multiply a set of matrices (3D array) by a vector of values

1 visualizzazione (ultimi 30 giorni)
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

Risposta accettata

Azzi Abdelmalek
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)

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by