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

Gleichlange Vektoren in Abschnitte aufteilen und sichern

 

Stefan89
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 12.03.19
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 12.03.2019, 16:39     Titel: Gleichlange Vektoren in Abschnitte aufteilen und sichern
  Antworten mit Zitat      
Hallo zusammen,

ich konnte leider trotz Suche für mein Problem noch keine Lösung hier finden. Oute mich aber direkt als absoluter Anfänger.

Folgende Problematik:
Ich habe zwei gleich lange Vektoren. Vektor X ist die Drehzahl einer Maschine und Vektor Y der Messwert. Zur Veranschaulichung:

X = [437, 515, 567, 614, 638, 659, 523, 489];
Y = [100, 120, 130, 140, 135, 130, 135, 120];

Zunächst möchte ich gerne den Drehzahlvektor in 50er-Schritte aufteilen und jeweils als Ergebnis speichern. Bsp:

RPM1 von 424 - 474
RPM2 von 475 - 524 usw.

Im weiteren Schritt sollen die jeweiligen Messwerte die in diesem Drehzahlbereich liegen gemittelt werden und ebenfalls als Ergebnis gespeichert werden. Bsp:

Mess1 = mean(Messwerten die im Bereich von 424 - 474 liegen)
Mess2 = mean(Messwerten die im Bereich von 475 - 524 liegen) usw.

Lässt sich dies über eine Schleife lösen? Bestenfalls auch so, dass der Variablenname jeweils weitergezählt wird bis zu dem Bereich für den keine Messwerte mehr vorliegen? also RPM1, RPM2, RPM3,...

Ich hoffe es ist zu verstehen was ich versuche.

Vielen Dank schon einmal!
Private Nachricht senden Benutzer-Profile anzeigen


Astropeter
Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 16.10.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2019, 11:57     Titel:
  Antworten mit Zitat      
Hallo Stefan,
das ist schwieriger als es für mich auf den ersten blick aussah. Was mir dazu einfällt:

Erstmal würde ich X sortieren und Y entsprechend X sortieren(gleiche Paare, aber nach X sortiert).

Für die Schleife könnte das hier ein Ansatz für dich sein:

Code:

for i = 1:ceil((max(X)-min(X))/50)
end
 


Gruß,
Astropeter
Private Nachricht senden Benutzer-Profile anzeigen
 
Stefan89
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 12.03.19
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 13.03.2019, 12:14     Titel:
  Antworten mit Zitat      
Hallo Astropeter,

vielen Dank schon mal! das werde ich versuchen einzubauen und schauen ob es funktioniert. Ich werde berichten.
Aber ja, ich dachte Anfangs auch, dass das einfacher wäre.

Viele Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

geht auch einfacher:
Code:
xDisc = discretize(X, 424:50:674)
Mess = splitapply(@mean, Y, xDisc)


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Astropeter
Forum-Anfänger

Forum-Anfänger


Beiträge: 25
Anmeldedatum: 16.10.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2019, 14:40     Titel:
  Antworten mit Zitat      
Immer wieder schön wenn Harald mit irgendwelchen krassen Tricks um die Ecke kommt Very Happy
Ich kannte splitapply noch gar nicht, wieder was gelernt. Die Doku liest sich so als wenn der Befehl extra für Stefans Problem erfunden worden wäre... Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
Stefan89
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 12.03.19
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 13.03.2019, 18:48     Titel:
  Antworten mit Zitat      
Vielen Dank Harald!! Das sieht auf jeden Fall schon mal passend aus. Komme jetzt so langsam erst dazu es mal zu testen. Ich werde berichten.
Danke nochmal!!
Private Nachricht senden Benutzer-Profile anzeigen
 
Stefan89
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 12.03.19
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 16.03.2019, 10:13     Titel:
  Antworten mit Zitat      
Sorry für die späte Antwort.
Nach der ersten Recherche wäre das genau richtig. Nur leider ist das Matlab, das ich verwenden muss (R2013) zu alt und hat daher die funktionen nicht. Werde es jetzt mal auf einem ganz manuellen Weg versuchen.
Aber vielen Dank! Es hätte so einfach sein können Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

dann bleibt nur eine for-Schleife.
Es kann sich aber lohnen zu hinterfragen, warum denn R2013 (a/b) verwendet werden muss. Das ist ja eine recht alte Version.
Solange der Wechsel nicht geschafft ist, bitte das alte Release bei Fragen angeben oder ins Profil eintragen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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.