我必须对多个向量求和,但它们的数量会有所不同。
我有:
g1 = [1 3 4 5 3 4 6 2 3 4 6 6]
g2 = ....
.
.
.
gn = [3 4 5 6 4 5 6 2 4 7 8 9]
我必须总结所有这些:
G=sum(g1 to gn)
我该怎么做?
答案 0 :(得分:3)
如果将所有向量存储在矩阵g
中,每行中有一个向量,那将更容易。然后,期望的结果将只是sum(g)
。
如果您确实需要将每个向量放在不同的变量中,则可以在循环中使用eval
计算总和:
result = zeros(size(g1)); % initialize sum
for ii = 1:n
eval(['result = result + g' num2str(ii) ';']) % add ii-th vector to the sum
end
答案 1 :(得分:2)
试试这个:
sum(arrayfun(@(i)eval(['g'num2str(i)]),1:n))
(将所有带有名称模式gx的标量相加,其中X = 1 ... n)