|
|
|
Messwerte interpolieren (Sprungantwort) |
|
| Menschman |

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 11.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.06.2012, 11:33
Titel: Messwerte interpolieren (Sprungantwort)
|
 |
Hallo,
ich suche eine Funktion, welche mir die Interpolation von Messwerten ermöglicht, die nur bei Veränderung aufgezeichnet wurden. Es soll demnach zu jeder Zeitschrittweite ein Wert interpoliert werden, der solange konstant bleibt, bis ein neuer Wert aufgezeichnet wurde.
zBsp:
10:00:00 20
10:05:00 21
soll zu
10:00:00 20
10:01:00 20
10:02:00 20
10:03:00 20
10:04:00 20
10:05:00 21
werden.
Hab noch nix passendes gefunden. Vielleicht kann mir jemand helfen.
Vielen Dank!
Menschman
|
|
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 26.06.2012, 14:31
Titel: Re: Messwerte interpolieren (Sprungantwort)
|
 |
Hallo Menschman,
Es ist leichter einen Vorschlag zu programmieren, wenn Du die Beispieldaten in valider Matlab-Syntax angibst. Ist "10:00:00 20" ein String, ein String und ein DOUBLE, oder etwas ganz anderes?
Gruß, Jan
|
|
|
|
| Menschman |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 11.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.06.2012, 14:53
Titel:
|
 |
Hallo Jan,
der Wert in Spalte 1 (also Bspw. 10:00:00) ist die Zeit und liegt als double bereits umgerechnet in der Matrix. Der Wert zwei ist ebenfalls ein double (Temperatur). Ich lese die Daten aus einer .csv ein. Es sind sehr viele Zeilen und ich habe bis jetzt noch keine Lösung für mein Problem gefunden.
Vielen Dank für die Hilfe. Ich werde mich in Sachen Problemerläuterung bessern
VG Menschman
|
|
|
|
| Illmatic |

Forum-Anfänger
|
 |
Beiträge: 17
|
 |
|
 |
Anmeldedatum: 19.06.12
|
 |
|
 |
Wohnort: Hamburg
|
 |
|
 |
Version: R2011b
|
 |
|
|
 |
|
Verfasst am: 26.06.2012, 20:17
Titel:
|
 |
Habe gerade mal ein recht schlampiges Skript geschrieben. Geht mit an Sicherheit grenzender Wahrscheinlichkeit deutlich eleganter, aber du kannst es ja mal so probieren, wenn dich nur die Werte und nicht der Weg dahin interessiert
M ist eine Beispielmatrix mit einer Spalte für die Zeit und einer für die Temperatur.
Macht aus
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 27.06.2012, 15:19
Titel:
|
 |
Hallo Menschman,
| Zitat: |
| Ich werde mich in Sachen Problemerläuterung bessern :-) |
Prima. Dann fang doch gleich mal an: Kannst Du bitte ein Beispiel posten, welches valide Matlab-Syntax verwendet? Dann könnten die Leser im Forum dies als Ausgangspunkt für Lösungsvorschläge verwenden. Wenn dagegen jeder, der Dir helfen möchte, erstmal Zeit damit verbringt, der groben Beschreibung folgend Test-Daten zu erzeugen, ist das ineffizienter.
Das die Zeiten "umgerechnet" sind, klärt z.B. noch nicht das Detail, in was Du sie umgerechnet hast.
Gruß, Jan
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 27.06.2012, 15:26
Titel:
|
 |
Hallo Illmatic,
Ein ähnlicher Ansatz, bei dem allerdings 0 als Wert in der ersten Spalte verboten ist:
Gruß, Jan
|
|
|
|
| Illmatic |

Forum-Anfänger
|
 |
Beiträge: 17
|
 |
|
 |
Anmeldedatum: 19.06.12
|
 |
|
 |
Wohnort: Hamburg
|
 |
|
 |
Version: R2011b
|
 |
|
|
 |
|
Verfasst am: 29.06.2012, 17:33
Titel:
|
 |
|
Hehe, das ist sogar noch kürzer als ich erwartet hätte. Werd ich mir nachher mal zu Gemüte führen.
|
|
|
|
| Menschman |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 11.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.07.2012, 10:18
Titel:
|
 |
Hallo,
schonmal danke für die Antworten. Ich werde sie gleich mal versuchen.
Anbei nochmal wie gewünscht ein Beispiel.
Das gewünschte Ergebnis habe ich offensichtlich schon ausreichend erläutert.
VG Menschman
|
|
|
|
| Menschman |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 11.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.07.2012, 17:21
Titel:
|
 |
Hey,
die zwei Vorschläge habe ich versucht. Leider führte keiner zum Erfolg, was ohne Zweifel an meinen noch mangelnden MatLab-Kenntnissen liegen kann. Variante1 hat zunächst richtig "interpoliert", hat ab einem bestimmten Punkt aber nur noch einen Wert immer weiter geschrieben. Bei Variante2 sagte mir ein Error, dass das nur mit ganzen Zahlen funktioniert, was bei mir nicht der Fall ist.
Ich habe es jetzt (sicher viel zu umständlich) wie folgt gelöst. Ich habe die Werte an den jeweiligen nächstgelegenen Zeitpunkt geschrieben und nachfolgend in einer Schleife die freien Arrays mit dem jeweiligen vorherigen Wert aufgefüllt. Es funktioniert einwandfrei.
Vielen Dank für eure Hilfe!!!
LG Menschman
|
|
|
|
Verschoben: 05.07.2012, 08:48 Uhr von denny Von Signalverarbeitung nach Programmierung |
|
|
|
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 - 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.
|
|