|
|
|
Große Vektoren unterschiedlicher Länge vergleichen |
|
| RinaEs21 |

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 28.10.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2016b
|
 |
|
|
 |
|
Verfasst am: 28.03.2017, 12:48
Titel: Große Vektoren unterschiedlicher Länge vergleichen
|
 |
Hallo Leute,
ich hätte mal wieder eine Frage.
Und zwar möchte ich zwei große Vektoren (mehr als 35000 Zeilen) miteinander vergleichen. Leider sind die beiden nicht gleich groß.
A = 38841x1
B = 37273x1
Nun möchte ich herausfinden, welche Zeilen aus A und mit welchen Zeilen aus B gleich sind.
Ich habe schon verschiedenes ausprobiert, unter anderem auch for-Schleifen, allerdings läuft das Script dann ewig.
Vielleicht habt ihr ja eine elegantere Lösung für mich.
Ich würde mich freuen.
|
|
|
|
|
|
| Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 28.03.2017, 13:06
Titel:
|
 |
Grundsätzlich ist das "Vergleichen" ein Unterfangen, dass bedacht sein will. Denn was ist aus numerischer Sicht gleich? Ich kann nur dazu raten das vorher zu definieren und eine Toleranz abzufragen, so wie z.B.
Allerdings dauert so was durchaus noch länger. Daher ist es erst einmal wichtig zu verstehen was der Anwendungskontext ist. Z.B. sollen dann doppelte Einträge rausgeworfen werden? Ist die Reihenfolge der Zahlen wichtig?
Andreas
|
|
|
|
| RinaEs21 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 28.10.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2016b
|
 |
|
|
 |
|
Verfasst am: 28.03.2017, 13:14
Titel:
|
 |
Ersteinmal danke für die Antwort.
Bei den Vektoren handelt es sich um Datenums, also Zeitstempel zweier Sensoren. Beide Zeitstempel sind vorher auf yyyy:mm:dd und HH:MM eingestellt worden, da sie jede Minute eine Messung gemacht haben, also sind die Sekunden nicht wichtig.
Also müsste es möglich sein, beide Datenums "genau" zu vergleichen und herauszufinden, in welchen Zeilen in den Daten die beiden Sensoren vergleichbar sind.
Z.B. Die Messung in Zeile 12 von Sensor A entspricht der Messung in Zeile 23 von Sensor B laut Zeitstempel.
Ich hoffe, dass das einigermaßen verständlich ist.
|
|
|
|
| Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 28.03.2017, 13:27
Titel:
|
 |
Ich glaube das zu verstehen Es sind zwei äquidistante Messungen, die vernachlässigbar genau synchronisiert sind. Nur sind die Messungen von unterschiedlicher Länge.
Daher würde ich mal behaupten man kann den letzten Teil der längeren Messung einfach wegwerfen und die Differenz beider (dann gleich langen) Vektoren anschauen wie nah and Null sie ist.
Andreas
|
|
|
|
| RinaEs21 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 28.10.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2016b
|
 |
|
|
 |
|
Verfasst am: 28.03.2017, 13:38
Titel:
|
 |
@ Andreas:
Genau das habe ich auch gedacht und natürlich habe ich das schon ausprobiert. Wäre ja dann recht einfach. Leider scheint das auch nicht zu funktionieren, da zwischenzeitlich mal Messwerte zu fehlen scheinen für 1 oder 2 Minuten (bei beiden Sensoren). Und das leider auch sehr unregelmäßig. *seufz*
Leider habe ich die Werte nicht produziert. Ich soll sie nur auswerten.
Naja...ich werd mal noch ein paar Sachen ausprobieren.
Wäre die Funktion "synchronize" eine Lösung? Bin über ein wenig Recherche auf die gestoßen.
|
|
|
|
| Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 28.03.2017, 13:45
Titel:
|
 |
Wenn nur ein Messwerte fehlen einfach Interpolieren. INTERP1 und so.
Andreas
|
|
|
|
| RinaEs21 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 15
|
 |
|
 |
Anmeldedatum: 28.10.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2016b
|
 |
|
|
 |
|
Verfasst am: 30.03.2017, 12:56
Titel:
|
 |
Gott sei dank habe ich die R2016b Version.
Ich konnte meine Daten jetzt in timetable's umwandeln und mit Hilfe der Funktion "synchronize" synchronisieren.
Das hat bei über 35000 Werten auch wunderbar und vor allem schnell geklappt. Ich konnte nicht mal das "Busy" unten in der Leiste sehen.
Trotzdem nocheinmal vielen Dank an alle, die helfen wollten.
|
|
|
|
| Andreas Goser |

Forum-Meister
|
 |
Beiträge: 3.654
|
 |
|
 |
Anmeldedatum: 04.12.08
|
 |
|
 |
Wohnort: Ismaning
|
 |
|
 |
Version: 1.0
|
 |
|
|
 |
|
Verfasst am: 30.03.2017, 13:24
Titel:
|
 |
Super, muss ich mir merken. (Und mehr "What's New" Präsentationen anschauen).
Andreas
|
|
|
|
|
|
|
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.
|
|