multiplication of a 3-D matrix by a 1-D array
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a 3-D matrix A = rand(sz1,sz2,sz3) and a 1-D array B = rand(1,sz3).
Is there a biult-in function to do the muliplication like:
C with dimensions of (sz1,sz2,sz3)
for ii = 1:sz3
C(:,:,ii)=A(:,:,ii)*B(ii);
end
0 commentaires
Réponse acceptée
Stephen23
le 8 Oct 2022
You don't need a special kind of multiplication, you just need to match the vector orientation to the array:
C = A .* reshape(B,1,1,[])
2 commentaires
Stephen23
le 11 Oct 2022
Modifié(e) : Stephen23
le 11 Oct 2022
"I checked the matlab documentation for .* and did not find an answer for the question below."
The TIMES documentation states:

"In your answer, the 2 matrices have different dimensions and the element-wise multiplication works, why?"
Clicking the link given in the TIMES documentation takes you to this page:
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!