0

複数のベクトルを合計する必要がありますが、その数はさまざまです。

私は持っている:

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)

それ、どうやったら出来るの?

4

2 に答える 2

3

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
于 2013-10-27T16:37:02.070 に答える
2

これを試して:

sum(arrayfun(@(i) eval(['g' num2str(i)]),1:n))

(名前パターン gX を持つすべてのスカラーを合計します。ここで、X=1...n)

于 2013-10-27T13:59:16.057 に答える