Frage 1: Wie kann ich die erste Spalte einlesen, wenn ich nicht weiss wie lange diese ist? Im obigen Beispiel hatte diese 54 Zeilen.
Frage 2: Wie kann ich die einzelnen Elemente eines Vektors miteinander vergleichen? Vier Werte untereinander müssen immer gleich sein.
Beispiel:
100
100
100
100 --> 4 Paket erfolgreich angekommen
101 --> Fehler nur zwei Pakete erfolgreich angekommen und zwei fehlen
101 --> Fehler nur zwei Pakete erfolgreich angekommen und zwei fehlen
105 --> Fehler nur zwei Pakete erfolgreich angekommen und zwei fehlen
105 --> Fehler nur zwei Pakete erfolgreich angekommen und zwei fehlen
106
106
106
106 --> 4 Paket erfolgreich angekommen
Ziel ist es den Vektor in Simulink Elementweise abspielen zu lassen. Solange vier werte untereinander gleich sind, ist alles okay (kein Paketverlust). Wenn ein Fehler auftritt (Paketverlust), sollen die zuletzt gültigen Werte verwendet werden. Wie kann ich dies realisieren?
Vielen Dank und viele Grüße,
Saskia
Saskia_19
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 20.01.2012, 17:09
Titel:
Ergänzung:
Bei dem Vektor M handelt es sich um einen Zeitstempel, welcher innerhalb von Simulink als Quelle verwendet werden soll, um zu bestimmen, ob Datenpake verloren gegangen sind. Wenn vier Werte untereinander gleich sind, sind keine Pakete verloren. Falls Pakete verloren gegangen sind, wird solange mit den letzten gültigen Werten gerechnet, bis wieder vier Werte untereinander gleich sind. Bin leider vollkommen neu auf dem Gebiet und hoffe auf ein paar Denkanstöße.
findet jeweils den Index des ersten Elements einer Viererfolge.
Gruß
Sirius
Saskia_19
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 22.01.2012, 13:24
Titel:
Vielen Dank für die Antwort!
Wie kann ich es nun bewerkstelligen, die einzelnen Zeitstempel in Simulink derart zu integrieren, dass solange kein Paketverlust stattfindet (vier Werte untereinander gleich), diese verwendet werden? Falls ein Paketverlust festgestellt wird, sollen solange die alten gültigen Werte verwendet werden, bis wieder gültige ankommen.
Bin mir noch nicht so recht der Verbindung von Matlab und Simulink bewusst, besser, wie ich in Simulink erstellt Modelle mit in Matlab erstellten Code anspreche bzw. erweitere.
Vielen Dank!
Saskia_19
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 23.01.2012, 13:49
Titel:
Hallo zusammen,
bin ein klein wenig weiter gekommen. Bestimme zuerst die Zeilenanzahl der CSV-Datei. Falls diese größer als 620000 ist, soll diese auf 620000 beschränkt werden. Die Einschränkung muss ich aufgrund eines sonst geworfenen Speicher-Fehlers machen. Anschließend wird die erste Spalte der CSV ab Zeile 30 eingelesen und die Anzahl der Pakete bestimmt. Des Weiteren wird der Index der ersten von 4 aufeinanderfolgenden korrekten Pakete erzeugt.
Frage: Wie kann man es in Erweiterung hierzu so realisieren, wenn kein Index ausgegeben wird, wieviel aufeinanderfolgende Pakete korrekt sind und wieviel nicht?
Bsp:
100 --> korrekt, kein Paket fehlt, da vier aufeinander gleich
100
100
100
101 --> 2 Pakete korrekt, 2 Pakete fehlen (für die 2 fehlenden Pakete sollte solange der Wert des letzten korrekten Paketes verwendet werden, bis neues korrektes Paket kommt)
101
102 --> 1 Paket korrekt, 3 Pakete fehlen
--> 8 Pakete fehlen
105 --> 1 Paket korrekt, 3 Pakete fehlen
106 --> korrekt, kein Paket fehlt, da vier aufeinander gleich
106
106
106
Vielen Dank für Ihre Hilfe!
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
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.