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

2 views (last 30 days)
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?

Answers (1)

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

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!