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

2 次查看(过去 30 天)
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?

回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by