|
|
Messdaten auf selbe Länge inter/extrapolieren |
|
318is |
Forum-Anfänger
|
|
Beiträge: 35
|
|
|
|
Anmeldedatum: 09.03.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.03.2017, 12:50
Titel: Messdaten auf selbe Länge inter/extrapolieren
|
|
Hallo Miteinander,
ich habe folgendes Problem:
Ich lese mit diesem Tool :
https://de.mathworks.com/matlabcent.....le-format-from-inca-7-1-9
eine mdf-datei ein.
Da die Abtastrate der einzelne Signale unterschiedlich ist, sind auch die einzelnen Vectoren (mit Messdaten) unterschiedlich lang. Ich möchte gerne alle Vectoren gleich lange haben und auf den selben Zeitvector(also den längsten Zeitvector im WS) beziehen.
Ich wollte dies eigentlich mit interp1 lösen jedoch gibt es hier Probleme sobald extrapoliert werden müsste.
Gibt es für solche Anwendungsfälle eine elegante Lösung?
Ich habe eine Beispiel-mdf angehängt um das ganze zu verdeutlichen.
Vielen Dank für die Mühe, Grüße 318is
Beschreibung: |
|
Download |
Dateiname: |
Testmessung910.zip |
Dateigröße: |
105.11 KB |
Heruntergeladen: |
512 mal |
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.03.2017, 13:06
Titel:
|
|
Hallo,
Zitat: |
Ich wollte dies eigentlich mit interp1 lösen jedoch gibt es hier Probleme sobald extrapoliert werden müsste. |
Welche Probleme?
Grüße,
Harald
|
|
|
318is |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 35
|
|
|
|
Anmeldedatum: 09.03.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.03.2017, 14:55
Titel:
|
|
Ich erhalte immer NAN da ja interp1 anscheinend nicht extrapolieren kann.
Gibt es einen befehl der einen Vector direkt auf die gewünschte Zeitachse inter- und ggf. extrapoliert?
Grüße
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.03.2017, 17:21
Titel:
|
|
Hallo,
interp1 hat ein Argument extrapolation, man muss es halt explizit angeben.
Wenn das nicht weiterhilft, bitte den momentan verwendeten Aufruf von interp1 posten.
Grüße,
Harald
|
|
|
318is |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 35
|
|
|
|
Anmeldedatum: 09.03.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.03.2017, 10:29
Titel:
|
|
Hallo Harald,
vielen Dank für die schnelle Antwort, mir war nicht klar, dass mit interp1 auch extrapoliert werden kann, das vereinfacht die Sache natürlich sehr.
Ich würde das ganze Vorgehen gerne Automatisieren jedoch habe ich hierbei Schwierigkeiten. Mein Ansatz war folgender um zuerst den Zeitvector auf den alle normiert werden sollen zu bestimmen:
Ich habe hier das Problem, dass ich nicht weiß wie ich die einzelnen Einträge aus den Vectoren ziehen kann und wieder als Variablenname im Workspace ansprechen kann. Kann mir hier jemand helfen?
Vielen Dank für die Mühe!
Viele Grüße
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 17.03.2017, 15:53
Titel:
|
|
Hallo,
du arbeitest da mit dynamischen Variablennamen. Das sollte man generell nicht tun, weil man dann zwangsläufig mit eval arbeiten muss, was sehr fehleranfällig und schwierig zu debuggen ist. Du kannst ja mal nach Themen mit eval suchen :)
Grüße,
Harald
|
|
|
318is |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 35
|
|
|
|
Anmeldedatum: 09.03.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.03.2017, 09:38
Titel:
|
|
Harald hat Folgendes geschrieben: |
Hallo,
du arbeitest da mit dynamischen Variablennamen. Das sollte man generell nicht tun, weil man dann zwangsläufig mit eval arbeiten muss, was sehr fehleranfällig und schwierig zu debuggen ist. Du kannst ja mal nach Themen mit eval suchen
Grüße,
Harald |
Hallo Harald,
zu eval und dynamischen Variablen habe ich die letze Woche viel gelesen. Leider komme ich nicht drum rum (bzw. wüsste nicht wie) da meine Messdaten so erzeugt werden.
Ich konnte das ganze nun mit eval lösen und es funktioniert. Jedoch habe ich das Problem das auch Messungen vorhanden sind wo nicht alle Zeitvektoren erzeugt werden z.B. time_1,time_2,time_4 - time_3 fehlt. Gibt es hier einen Trick wie ich den Abbruch der For-Schleife unterbinden kann? Es soll einfach einen Eintrag weitergesprungen werden wenn der aktuelle nicht vorhanden ist?
vielen Dank für die Mühe
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 20.03.2017, 09:55
Titel:
|
|
Hallo,
Zitat: |
Leider komme ich nicht drum rum (bzw. wüsste nicht wie) da meine Messdaten so erzeugt werden. |
Soweit möglich sollte man also versuchen, auf diesen Prozess einzuwirken.
Zitat: |
Gibt es hier einen Trick wie ich den Abbruch der For-Schleife unterbinden kann? Es soll einfach einen Eintrag weitergesprungen werden wenn der aktuelle nicht vorhanden ist? |
try / catch
Grüße,
Harald
|
|
|
318is |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 35
|
|
|
|
Anmeldedatum: 09.03.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.03.2017, 11:21
Titel:
|
|
try catch hat super funktioniert vielen Dank
|
|
|
|
|
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.
|
|