WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Mittelwert in Abhänigkeit eines anderen Vektors

 

Matlaberer

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2012, 15:27     Titel: Mittelwert in Abhänigkeit eines anderen Vektors
  Antworten mit Zitat      
Hallo zusammen

ich habe folgendes Problem und keine Ahnung wie es zu lösen ist. Daher bin ich froh um jeden Lösungsansatz.

Zwei Vektoren derselben Länge sind vorhanden. Z.B.:
a=[8 3 4 5 5 5] und b=[7 4 5 6 4 2]

nun soll an der stelle bei der beim vektor a derselbe Eintrag vorhanden ist, beim vektor b der mittelwert genommen werden, sodass folgender vektor b bei obigem Beispiel entsteht:
b=[7 4 5 4]

Es handelt sich um ganze, positive Zahlen, welche nicht geordnet sind. Das Format des Mittelwerts kann Ganzzahlig sein.

Ich hoffe ich habe mich klar ausgedrückt, ansonsten bitte melden!
Vielen Dank für jeden Beitrag!


Aeronaut

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2012, 15:56     Titel: Mittelwert in Abhänigkeit eines anderen Vektors
  Antworten mit Zitat      
Was meinst du mit "der selbe Eintrag"?
 
Matlaberer

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2012, 16:46     Titel: dieselbe Zahl
  Antworten mit Zitat      
gemeint ist die gleiche zahl, in diesem Beispiel die 5
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.11.2012, 17:14     Titel:
  Antworten mit Zitat      
Hallo,

wieso die 5 und nicht irgendein anderer Wert?

Mir scheint, dass bestimmte Werte aus b ausgewählt werden anstatt einen Mittelwert zu bilden. Mir ist jedoch nicht klar, nach welchen Kriterien diese Werte ausgewählt werden.

Um die Nachfrage zu präzisieren:
Zitat:
an der stelle bei der beim vektor a derselbe Eintrag vorhanden ist

derselbe Eintrag wie wo?

Zitat:
beim vektor b der mittelwert genommen werden

der Mittelwert über was?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlaberer

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2012, 17:41     Titel: Mittelwert
  Antworten mit Zitat      
Erstmal sorry für die offensichtlich unklare Fragestellung

ich versuchs mal so:
Vektor a und b sind Messwerte, wobei der Vektor a Zeitwerte enthält und der Vektor b die Messresultate. Da Mehrere Messinstrumente verwendet wurden, gibt es verschiedenen Messungen zur gleichen Zeit. Diese sollen nun gemittelt werden.
Die Anzahl der Messinstrumente variert jedoch über die Dauer der Messung!

noch ein Beispiel:
Vektor a mit Zeitwerten: a=[1 1 1 1 2 2 2 3 4 4 4 4]
Vektor b mit Messwerten: b=[5 4 1 6 7 2 3 4 5 6 7 6]

Ziel: Vektor mit gemittelten Messwerten: c=[4 4 4 6]

=> der vektor hat eine Länge von 4 weil es 4 verschiedenen Messzeiten gibt
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.11.2012, 19:43     Titel:
  Antworten mit Zitat      
Hallo,

in diesem Fall zumindest:

Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlaberer

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2012, 20:56     Titel: Accumarray
  Antworten mit Zitat      
Vielen Dank für deinen Input Harald!

Stimmt, beim genannten Beispiel funktioniert das super, nur leider bei den meistern andern Fällen gar nicht. Deswegen steh ich jetzt ziemlich auf dem Schlauch, zum Beispiel bei:

a=[1;1;1;1;1;1;1;1;1;1;2;3;6]
b= [1;2;3;4;5;6;7;8;9;1;2;3;4]

berechnet matlab mit dem befehl
accumarray(a,b,[],@mean)

das resultat
ans =[4.6000; 2.0000; 3.0000;0;0;4.0000]

kann mir das jemand erklären?
 
Matlaberer

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2012, 21:02     Titel: Accumarray
  Antworten mit Zitat      
Sorry das war schonwieder etwas unpräzies, nicht erklären kann ich mir wo die überflüssigen 0en herkommen?
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.11.2012, 21:19     Titel:
  Antworten mit Zitat      
Hallo,

das erste Beispiel war dann wohl etwas unglücklich.

accumarray gibt den Mittelwert für 1:n aus, wobei n der höchste vorkommende Wert ist. Bekommst du in allgemeinen Fällen das gewünschte Ergebnis, wenn du die Nullen anschließend entfernst?
Code:
c(c==0) = [];


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.