How to multiply one array to all elements of a vector with a different size?

1 Ansicht (letzte 30 Tage)
Take
a=[1 2; 3 4]
and
b=[4 5 6]
How can I creat a 3D vector,
c(:,:,1)=a*b(1)
c(:,:,2)=a*b(2)
c(:,:,3)=a*b(3)
if I don't want to use a for loop. Is there any code for this multiplication in MATLAB?

Antworten (1)

James Tursa
James Tursa am 27 Jan. 2022
Bearbeitet: James Tursa am 27 Jan. 2022
You can use implicit expansion with the element-wise multiply operator:
c = a .* reshape(b,1,1,[]);

Kategorien

Mehr zu Programming 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!

Translated by