Jon*_*ein 6 matlab vector matrix multiplication
假设我有一个矩阵:
A = [ 1 2 3 ; 4 5 6 ; 7 8 9 ; 10 11 12];
Run Code Online (Sandbox Code Playgroud)
有没有办法繁殖:
第1行乘1
行2乘2
行3乘3
,依此类推?
我能够使用for循环执行此操作,但是如果对于他们希望我们使用矩阵的分配,它.在实际分配A
中填充随机数,但每行连续相乘.
谢谢,非常感谢任何帮助
你只需将对角矩阵乘以A就好了.
A = [ 1 2 3 ; 4 5 6 ; 7 8 9 ; 10 11 12];
disp(diag([1 2 3 4]) * A);
1 2 3
8 10 12
21 24 27
40 44 48
Run Code Online (Sandbox Code Playgroud)
您可以bsxfun
轻松快速地完成此任务
out = bsxfun(@times, [1 2 3 4].', A)
Run Code Online (Sandbox Code Playgroud)
在较新版本的MATLAB(R2016b和更新版本)中,您可以bsxfun
简单地替换*
out = [1 2 3 4].' * A;
Run Code Online (Sandbox Code Playgroud)