How to perform an array multiplication for a vector and a matrix and output results as a matrix?
1 次查看(过去 30 天)
显示 更早的评论
Here is the problems and solution which seems very bad. Could anyone suggest a better solution?
M = [1 2 3];
C = [10 11 12; 13 14 15; 16 17 18; 19 20 21; 22 23 24];
K1=C(1,:).*M
K2=C(2,:).*M
K3=C(3,:).*M
K4=C(4,:).*M
K5=C(5,:).*M
B = vertcat(K1,K2,K3,K4,K5)
0 个评论
采纳的回答
更多回答(2 个)
the cyclist
2013-7-5
编辑:the cyclist
2013-7-5
Matrix multiplication is a core MATLAB function. I think you just want
B = C * M'
Notice that that is just a "*", not a ".*" (which is element-by-element) multiplication, and that I had to transpose M.
3 个评论
the cyclist
2013-7-5
编辑:the cyclist
2013-7-5
I forgot the transpose when I first posted. Also, I just looked at your B matrix, and it seems you do not want simply matrix multiplication after all.
You expect the result to be a 5x3 and not a 5x1, right?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!