multiplication of a 3-D matrix by a 1-D array
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Stephen23
il 8 Ott 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 Commenti
Stephen23
il 11 Ott 2022
Modificato: Stephen23
il 11 Ott 2022
"I checked the matlab documentation for .* and did not find an answer for the question below."
The TIMES documentation states:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1151618/image.png)
"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:
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!