|
|
Zeitsprünge automatisiert ermitteln |
|
iMC117 |

Forum-Anfänger
|
 |
Beiträge: 18
|
 |
|
 |
Anmeldedatum: 10.06.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.09.2015, 13:07
Titel: Zeitsprünge automatisiert ermitteln
|
 |
|
 |
|
Ich hab Messungen durchgeführt und diese nun in Excel dargestellt. In der ersten Spalte ist die Zeit aufgetragen und in den anderen eben verschiedene Merkmale. Aber das ist erstmal nicht wichtig. Nur die Zeit ist von Bedeutung.
Bei der Zeit-Spalte gibt es manchmal Zeitsprünge von mehr als 4 Sekunden. Immer wenn so ein Sprung kommt beginnt quasi eine neue Messung. In Matlab will ich nun diese Punkte in Form einer Matrix festhalten. Diese soll so aussehen passend zu der zeit-Spalte oben:
Mich interessieren also die Indices, wann eine Messung startet und endet. Messung 1 fängt immer mit dem ersten Wert in der Spalte an. Die letzte Messung endet immer mit dem letzten Wert in der Messung.
Messung 1 fängt also beim Index 2 an und endet dann beim Index 5, weil von 5 auf 6 der Zeitsprung von mehr als 4 Sekunden kommt usw. Nun will ich das automatisiert in Matlab darstellen. In Matlab fängt die erste Messung direkt beim Index 1 an. Die Überschriften habe ich nur in Excel, in Matlab habe ich sie abgeschnitten. Ich hab sie jetzt nur für die Übersicht mitreingenommen.
Mein Code sieht bis jetzt so aus:
Leider kommt dann diese Fehlermeldung: "Attempted to access ende(0); index must be a positive integer or logical."
Den Fehler verstehe ich nicht ganz, ich muss ja irgendwie mit b-1 arbeiten, damit ich das Ende einer Messung festlege. Ich weiß auch gar nicht, ob mein Ansatz richtig ist oder ob es bessere Lösungen gibt. Ich muss auf jeden Fall noch irgendwie festlegen, dass die letzte Messung mit dem letzten Wert in der Spalte time endet. Über Hilfe würde ich mich sehr freuen.
|
|
|
|
|
iMC117 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 18
|
 |
|
 |
Anmeldedatum: 10.06.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.09.2015, 14:13
Titel:
|
 |
Hat sich erledigt. Hab meinen Fehler gefunden und nun klappt alles.
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 24.09.2015, 14:18
Titel:
|
 |
Hallo,
die Indizes in der Schleife sind das Problem. Zum einen wird b jedem Durchlauf wieder auf 1 gesetzt und du willst auf den Index b-1 = 0 zugreifen. Das gibt es in Matlab aber nicht. Ziehe b vor die Schleife.
Außerdem würde beim letzten Durchlauf der Index i+1 zum Problem, da nicht vorhanden. Also muss die Endbedingung der Schleife angepasst werden.
Außerdem ist es ratsam ende und start schon vor der Schleife entsprechend anzulegen, z.B. mit der Funktion
zeros
. Dadurch wird die Schleife bei einer großen Anzahl an Durchläufen schneller laufen. Habe den Code aber nicht getestet
|
|
|
iMC117 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 18
|
 |
|
 |
Anmeldedatum: 10.06.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.09.2015, 15:10
Titel:
|
 |
Danke für deine Antwort und den Tipps. Genau die Probleme, die du ansprichst, sind mir dann auch aufgefallen. Mein Code sieht deinem sehr ähnlich und es funktioniert jetzt alles auf jeden Fall.
|
|
|
|
|
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.
|
|