Jede meiner Anweisungen funktioniert individuell, jedoch habe ich Probleme mit meiner Schleife. Ich habe Unterstation Daten wie folgt aus:Matlab - Summieren von Werten, die einer Bedingung in einer Schleife entsprechen, und Speichern der Ausgabe
1 4
1 5
1 6
2 2
2 8
2 9
3 1
3 5
3 8
I dann versuchen, die folgende Schleife zu verwenden, um die Daten in der zweiten Spalte durch die Zahl in der ersten Spalte gruppiert zu summieren, und dann in einer Matrix zu speichern.
for region = 1:Nnuts3
idx = find(substations(:,1)==Nnuts3);
output = sum(substations(idx,2),1);
mat(Nnuts3,1) = output;
end
Jede der Aussagen in der hier arbeitet als individuelle Codezeile in Ordnung, wenn ich Nnuts3 und in einer Reihe entfernen, aber es als Ganze Schleife funktioniert nicht.
Was mache ich falsch? Ich möchte nur die Daten mit dem Index in der ersten Zeile als Bedingung summieren und dann die Ausgabe speichern.
Dank Obchardon, das ist gut zu wissen. Wahrscheinlich effizienter als die Schleife, die ich vermute? –
in der Tat. Vor allem aber erhöht es die Lesbarkeit – obchardon