multiply an array of scalars by a 3D matrix
18 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Mireia Boneta Camí
am 10 Okt. 2020
Kommentiert: Ameer Hamza
am 10 Okt. 2020
I have a vector 10x1 and a 3D matrix NxNx10, and what I want to do is to multiply every dimension of the matrix (the 10 of them) by every scalar of the vector. I mean every of the 10 dimensions by a different scalar of the vector. Do you know if it exists a way to do it without using fors?
0 Kommentare
Akzeptierte Antwort
Ameer Hamza
am 10 Okt. 2020
Bearbeitet: Ameer Hamza
am 10 Okt. 2020
If you are using a recent version of MATLAB with implicit expansion enabled
A; % 10x1 array
M; % NxNx10 array
M_new = M.*reshape(A, 1, 1, []);
on older releases
M_new = bsxfun(@times, M, reshape(A, 1, 1, []))
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Spectral Measurements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!