複数のベクトルを合計する必要がありますが、その数はさまざまです。
私は持っている:
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)
それ、どうやったら出来るの?
g
すべてのベクトルを行列に格納し、各行に 1 つのベクトルを格納すると、はるかに簡単になります。次に、望ましい結果は単純になります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
これを試して:
sum(arrayfun(@(i) eval(['g' num2str(i)]),1:n))
(名前パターン gX を持つすべてのスカラーを合計します。ここで、X=1...n)