| 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
 
 
 |  |  | 
 
 
 |