|
madmax20 |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 31.05.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2015b
|
|
|
|
|
|
Verfasst am: 23.06.2017, 10:51
Titel: Daten sortieren
|
|
|
|
|
Grüß euch
Bin gerade mit dem Matlab Code den ich schreibe in ziemlichen Zeitdruck und habe nun folgendes Problem:
Ich habe einen Druck über einen bestimmten Winkelabschnitt.
Nun habe ich die maximalen und minimalen Peaks der Druckkurve mit dazugehörigem Winkel ermittelt.
Das Problem ist nun, dass durch bestimmte Einschränkungen die ich gesetzt habe teilweise 2-3 Maxima/Minima nebeneinander liegen ohne das sich dazwischen ein Minima/Maxima befindet.
Somit kann ich nicht mehr die Amplitude bestimmen.
Nun hab ich die Winkelwerte (Ausschnitt)
W1...Winkel zu den maximalen Peaks
W2....Winkel zu den minimalen Peaks
i W1 W2
1 330,62 331,29
2 332,10 331,92
3 334,27 335,37
4 336,33 339,94
5 336,97 345,84
6 338,67 348,11
7 342.53 350,66
wie man erkennen kann sind W2(1) und W2(2) nebeinenander ohne einen W1 Wert dazwischen.
Das selbe trifft auch auf W1(2) und W1(3); W1(4),W1(5) und W1(6) zu
ich will jetzt die Winkelwerte unter der Bedingung:
W1(i)<W2(i) und W1(i+1)>W2(i)
Somit sollte raus kommen:
i W1 W2
1 330,62 331,29
2 332,10 335,37
3 336,33 339,94
4 342.52 345,84
Wie realisiere ich das nun?
Hab mich mit "for" rum geplagt aber weiß nicht wie ich es realisieren soll, dass die Schleife erkennt: da ist ein Wert nachgerückt also alles noch mal testen
Würde die "sortierten" Werte in zwei neuen Vektor speichern da ich sonst ja ein Problem mit den Dimensionen der Ausgangsvektoren bekomme wenn ich da Werte raus lösche.
Hoffe ihr könnt mir helfen.
LG
Madmax
Edit: W2 gehört natürlich über die rechte Winkel Spalte...weiß nur leider nicht wie ich das da drüber bekomme
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 24.06.2017, 15:01
Titel: Re: Daten sortieren
|
|
Hallo madmax20,
Eine Antwort zu schreiben wäre einfacher, wenn Du die Daten so postest, dass man sie per Copy&Paste verwenden kann. Die Kommas als Dezimal-Trenner sind da sehr hinderlich.
Das ist schonmal der perfekte Ansatz:
Zitat: |
W1(i)<W2(i) und W1(i+1)>W2(i) |
Für die letzte Zeile kann W1(i+1) nicht abgefragt werden, darum wird sie immer akzeptiert, oder? Dann:
Passt das, oder muss es mehrfach wiederholt werden bis sich die werte nicht mehr ändern?
Gruß, Jan
|
|
|
madmax20 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 31.05.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2015b
|
|
|
|
|
|
Verfasst am: 27.06.2017, 14:00
Titel:
|
|
Hallo Jan!
Danke für die schnelle Antwort.
Tut mir leid das ich die Werte so reingetippt hab.
Bin neu hier und hab da garnicht dran gedacht.
Der von dir vorgeschlagene Code beginnt schon einmal gut zu arbeiten, nur leider bricht er in meinem Fall bei W1(3)=334.27 und bei W2(3)=335.37 ab.
Für Zeile 4 hat match den Wert 0 (weil die Bedingung natürlich nicht passt).
Jetzt sollte er theoretisch 338.67 aus Zeile 6 auf 5 nachreihen damit die Bedingung in Zeile 4 wieder passt.
Das wäre die Idee dahinter und ich glaube damit wirds etwas tricky.
Vor allem weil er dann sicher mit den Dimensionen nicht mehr zurecht kommt.
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 27.06.2017, 20:24
Titel:
|
|
Hallo madmax20,
Zitat: |
Das wäre die Idee dahinter und ich glaube damit wirds etwas tricky.
Vor allem weil er dann sicher mit den Dimensionen nicht mehr zurecht kommt. |
Ich kann Dir nicht folgen. Probiere es mal aus, poste den Code, die Fehlermeldung und was Du als Ergebnis erwartest.
Gruß, Jan
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|