我有像这样的矩阵
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
我能想到的唯一方法是使用循环,但我无法按照自己的意愿得到答案。有谁可以帮助我?
答案 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]