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

Datei einlesen, sortieren und Werte schematisch abarbeiten

 

Dusty.2
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 31.01.13
Wohnort: Osnabrück
Version: ---
     Beitrag Verfasst am: 31.01.2013, 10:57     Titel: Datei einlesen, sortieren und Werte schematisch abarbeiten
  Antworten mit Zitat      
Hallo Leute,

ich sitze gerade an einem Problem, ich soll einen Laborversuch auswerten.
Die Dateien liegen als .txt-Datei vor in vier Spalten und X Zeilen.

Eingelesen habe ich die .txt-Datei mit load in eine x,4-Matrix. Dann habe ich mit sort alles nach meinem Wunsch sortiert - zwei Spalten sind konstant, die anderen zwei variabel. Die konstanten Spalten kehren immer wieder.

Ich brauche jetzt die Steigungsdreiecke (Druckgradienten), das wollte ich einfach mit der diff-Funktion lösen (funktioniert bei Testwerten auch ganz gut), allerdings in Abhängigkeit von einer der variablen Spalten. Also wenn sich die Spalte ändert, dann soll er ab diesem Punkt wieder neu anfangen zu rechnen, weil es ja eine ganz andere Kurve ist.

Ich hoffe es ist einigermaßen verständlich. Wenn ich nachher zu Hause bin kann ich die .txt mal hochladen, damit man sich das besser vorstellen kann.

Mein Ansatz wäre jetzt gewesen das mit einer while-Schleife zu lösen und in der while-Schleife läuft dann eine for-Schleife.

Etwa "while A(:;3) == 5" und dann die for-Schleife in der die eigentliche Differenzierung stattfindet, bis Spalte #3 nicht mehr 5 ausgibt. Dann aber beim nächsten Wert (welche der nächsten Kurve entspricht) weitermacht.


Wie würdet ihr das lösen? Ansätze genügen mir, ich bin zwar frisch auf dem Gebiet, aber da ich in nächster Zeit viel auf Matlab zurückgreifen möchte, möchte ich mir die Sachen selbst erarbeiten.

Servus!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 31.01.2013, 13:47     Titel:
  Antworten mit Zitat      
Hallo,

ich würde versuchen, mir die Kurvenabschnitte mit Logical Indexing zu extrahieren und dann als Blöcke zu verarbeiten, z.B. eben mit diff.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Dusty.2
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 31.01.13
Wohnort: Osnabrück
Version: ---
     Beitrag Verfasst am: 01.02.2013, 15:16     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

ich würde versuchen, mir die Kurvenabschnitte mit Logical Indexing zu extrahieren und dann als Blöcke zu verarbeiten, z.B. eben mit diff.

Grüße,
Harald


Servus Harald,

danke für den Tipp. Ich will das ganze später noch per Java realisieren und habe das ganze jetzt mit einer Schleife gelöst. Da meine Messwerttabelle nicht so lang ist, lässt sich das mit der Rechenzeit noch vertreten.

Ich habe jetzt ein neues Problem, ich habe die Werte nach einer Spalte sortiert und würde nun gerne aus jeder Spalte mit gleichem Wert (z.B. 5bar) eine neue Untermatrix erstellen (mit den dazugehörigen anderen Spalten). Gibt's da eine Funktion in Matlab, die erkennt, ob mein Druck jetzt von 5.0bar auf 5.1bar steigt, so dass ich mit der Antwort dann in der Schleife an dieser Stelle wieder einsteigen kann (um es zu extrahieren)?

Grüße!

Edit: Ich mein jetzt natürlich neben dem LogicalIndexing Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

du kannst natürlich irgendwie elementweise durchgehen, aber Logical Indexing bzw. find ist schon der Weg, den man hier normal geht.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Dusty.2
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 31.01.13
Wohnort: Osnabrück
Version: ---
     Beitrag Verfasst am: 02.02.2013, 16:26     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

du kannst natürlich irgendwie elementweise durchgehen, aber Logical Indexing bzw. find ist schon der Weg, den man hier normal geht.

Grüße,
Harald


Hi Harald!

Ich habe mich jetzt noch mal intensiver mit der Indizierung auseinandergesetzt (eine gute Dokumentation dazu gefunden) und es jetzt mit "find" hinbekommen.

Vielen Dank und viele Grüße.
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 - 2025 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.