将矩阵与向量相乘

时间:2014-08-20 06:27:17

标签: matlab matrix

我有像这样的矩阵

Table1 = [A B ; C D ; E F]

和矢量:

V = [a ; b ; c]

如何得到矩阵M第二列的乘法得到如下答案?

ans =[aB ; bD; cF]

目前我在做,

Table1;
d=length(Table1(:,2));
for i = 1:d
   ans(i,:) = sum(Table1(i,2)) .* V';
 end

我能想到的唯一方法是使用循环,但我无法按照自己的意愿得到答案。有谁可以帮助我?

2 个答案:

答案 0 :(得分:5)

嗨如果你真的想要ans =[aB ; bD; cF]。您正在寻找带有向量的第二列的元素乘积。

那将是:

product = Table1(:,2).*V;

或者如果你想要相同的订单(通常那不重要,但谁知道)

product = V.*Table1(:,2);

表1(:,2)对第二列进行了说明。点(。)表示元素。

否则,MATLAB可以处理矩阵乘法,就像你在纸上书写一样。

答案 1 :(得分:0)

如果您知道要将每个向量的第二个数相乘

Table1 = [A B ; C D ; E F]

您可以使用downsample命令

newTable=downsample(Table1, n) % with n=2 or the step you want

newTable= [B ; D; F]
V = [a ; b ; c]

然后你可以使用乘法向量来得到你的结果

x = newTable.*V
x =[B*a; D*b ; F*c]