Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用MATLAB实现矩阵乘法_Matlab - Fatal编程技术网

用MATLAB实现矩阵乘法

用MATLAB实现矩阵乘法,matlab,Matlab,如果我有以下矩阵: a=[10 1 0 1 1 50 1 0 0 0 60 0 0 0 1] 如何将矩阵[10 50 60]中的第一列作为向量乘法乘以矩阵的其余部分,并得到以下结果: b=[10 10 0 10 10 50 50 0 0 0 60 0 0 0 60] (但这并不是我们通常所说的向量乘法或矩阵乘法。) (这并不是我们通常所说的向量乘法或矩阵乘法。)如果你真的想把它设为矩阵乘

如果我有以下矩阵:

a=[10   1   0   1   1
   50   1   0   0   0
   60   0   0   0   1]
如何将矩阵[10 50 60]中的第一列作为向量乘法乘以矩阵的其余部分,并得到以下结果:

b=[10  10  0  10  10
   50  50  0   0   0
   60  0   0   0   60]
(但这并不是我们通常所说的向量乘法或矩阵乘法。)


(这并不是我们通常所说的向量乘法或矩阵乘法。)

如果你真的想把它设为矩阵乘法,比如:

b = [a(:,1), diag(a(:,1))*a(:,2:end)]

应该可以工作(虽然我已经有一段时间没有做任何matlab了)。

如果你真的想把它框成矩阵乘法,比如:

b = [a(:,1), diag(a(:,1))*a(:,2:end)]

应该可以工作(虽然我已经有一段时间没有做任何matlab了)。

为此,
bsxfun
是您需要的:

b = [a(:,1) bsxfun(@times,a(:,2:end),a(:,1))]
希望这有帮助


A.

为此,
bsxfun
是您需要的:

b = [a(:,1) bsxfun(@times,a(:,2:end),a(:,1))]
希望这有帮助


A.

你的答案似乎是最直截了当的,与线性代数也有着紧密的联系。我草草浏览了一下答案,如果我第一眼就意识到你的答案的优越性,我甚至不会发布我自己的答案。你的答案似乎是最直截了当的,与线性代数也有着牢固的联系。我草草浏览了一下答案,如果我第一眼就意识到你的答案的优越性,我甚至不会发布我自己的答案。就我而言,这应该是公认的答案+1就我而言,这应该是公认的答案+1