Summe von Vektoren < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 16:31 Di 26.02.2008 | Autor: | soetzel |
Hallo zusammen,
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Ich habe folgendes Problem:
Mein Datensatz besteht aus zwei Spalten (zwei Variablen: id und dauer) und sieht etwa folgendermaßen aus:
id dauer
1 20
1 30
1 35
2 5
2 4
2 6
3 30
3 23
3 22
...
Ich möchte gerne eine neue Spalte erstellen in der die Summe der Spalte Dauer pro id enthalten ist. D.h.
neue Spalte
1 20+30+35
2 5+4+6
3 30+23+22
Leider weiß ich nicht, wie ich die Summenformel sum(dauer) erweitern muss, damit ich das Ergebnis erhalte.
Über eine Antwort würde ich mich sehr freuen.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 20:49 Di 26.02.2008 | Autor: | clwoe |
Hi,
mache eine if-Abfrage für die Vektoren. Also addiere die jeweiligen Einträge der beiden Vektoren entsprechend, nachdem du mit if geprüft hast, ob die richtigen Einträge in den Vektoren stehen.
Gruß,
clwoe
|
|
|
|
|
Hallo,
hier ist mein Vorschlag:
Angenommen, deine Daten liegen in der Matrix a, also die IDs in a(:,1) und die Werte in a(:,2), dann kann man die dritte Spalte a(:,3) erzeugen mit
for i=1:size(a,1),
a(i, 3) = sum(a(a(:, 1) == a(i, 1), 2));
end;
Gruß
Martin
|
|
|
|