WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Daten Synchronisieren

 

Absolut_Beginner
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 27.05.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2017, 10:07     Titel: Daten Synchronisieren
  Antworten mit Zitat      
Hallo Smile

ich habe zwar schon in der Suchfunktion geschaut, aber keine passende Antwort für mich entdeckt...
Und zwar habe ich mehrere Daten aus einer Kraftdiagnostik und möchte diese so synchronisieren, dass zumindest ein Event, bsp. der Absprung oder Kraftanstieg, zur selben Zeit stattfindet, sodass man die Daten im plott besser miteinander vergleichen kann, wenn sie übereinander geplottet werden. Mir fehlt irgendwie komplett der Ansatz...
Die Daten sind alle gleich lang, haben also alle gleich viele Datenpunkte, was ganz hilfreich ist. Aber z.B. einmal fängt der Sprung bereits ab t=3 an und andermal erst am t=5 und davor ist nur Gewichtskraft...

Wäre schön, wenn mir vielleicht irgendwer auf die Sprünge helfen kann Smile

LG
Private Nachricht senden Benutzer-Profile anzeigen


Absolut_Beginner
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 27.05.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2017, 10:46     Titel:
  Antworten mit Zitat      
Okay, habe mich geirrt, die Daten sind doch nicht alle gleich lang...d.h. ich muss erst noch eine zeitliche normierung schaffen, oder?
Private Nachricht senden Benutzer-Profile anzeigen
 
equi
Forum-Century

Forum-Century


Beiträge: 123
Anmeldedatum: 07.03.17
Wohnort: Tübingen
Version: Matlab 2018a
     Beitrag Verfasst am: 07.09.2017, 10:48     Titel:
  Antworten mit Zitat      
Hallo,

du ziehst einfach deinen Startwert von allen Werten des Datensatzes ab. Das heißt du bringst einfach alle Werte auf den Startzeitpunkt t0=0. Also eine simple Verschiebung auf der X-Achse

Sind die Zeitpunkte/Startwerte in denen "die Sprünge" bekannt? Oder soll das Programm diese erkennen können?

Edit:

Ich denke mal, dass deine Werte unterschiedlich lange sind, da dein Startzeitpunkt unterschiedlich ist? Deine benötigten Messpunkte werden vermutlich die selbe länge haben?
Daten und dein Ansatz sind oft hilfreich dabei
_________________

Grüße Equi Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Absolut_Beginner
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 27.05.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2017, 10:54     Titel:
  Antworten mit Zitat      
Hey,

danke für deine Antwort Smile

Leider verstehe ich nicht ganz was du meinst...also ich sehe eben manuell im Plot wo ungefähr der Absprung jeweils losgeht, bzw sieht man es ja auch in den Date, wenn die Kraftrate zunimmt...

ja genau, manchmla wurde für insgesamt 5 Sekunden aufgenommen, weil erstmal 2 Sekunden ruhig gestanden wurde, andermal wurde für 3 Sekunden aufgenommen, weil der Sprung mehr oder weniger sofort los ging..
Private Nachricht senden Benutzer-Profile anzeigen
 
equi
Forum-Century

Forum-Century


Beiträge: 123
Anmeldedatum: 07.03.17
Wohnort: Tübingen
Version: Matlab 2018a
     Beitrag Verfasst am: 07.09.2017, 11:10     Titel:
  Antworten mit Zitat      
Es wäre hilfreich, wenn du einen Plot oder Messdaten zur Verfügung stellst, denn so kann ich nur vermuten.

Ich denke du hast ein/mehrere Kraft-Zeit-Diagramm(e)?
Deine Kraftanstiege beginnen zu unterschiedlichen, nicht fest definierten, Zeiten?
Diese Zeit kannst du derzeit nur mittels des Plots sagen?

Wenn diese Punkte stimmen, würde ich wie folgt vorgehen.

Eine Änderung der Kraft ermitteln (mit diff < ...) --> dazu gehörige Zeit ermitteln
Plot auf Zeitpunkt t0=0 verschieben.

Bsp:
t=Zeit, k=Kraft

Datensatz 1
t0=0 k0=0
t1=1 k1=0
t2=2 k2=0
t3=3 k3=0
t4=4 k4=10
t5=5 k5=15

--> Kraftanstieg beginnt bei 3s
t0_neu=t3-3s=0
t1_neu=t4-3s=1s
t2_neu=t5-3s=2s


einigermaßen verständlich was ich mein mit verschieben?
_________________

Grüße Equi Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Absolut_Beginner
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 27.05.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2017, 11:46     Titel:
  Antworten mit Zitat      
vielen lieben Dank Smile

ja so passt das eigentlich ganz gut jetzt, perfekt Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
equi
Forum-Century

Forum-Century


Beiträge: 123
Anmeldedatum: 07.03.17
Wohnort: Tübingen
Version: Matlab 2018a
     Beitrag Verfasst am: 07.09.2017, 11:55     Titel:
  Antworten mit Zitat      
Alles klar, also suchst du so etwas?

Code:
t =[0 1 2 3 4 5 6 7 8 9]'; % X-Achse Zeit
k =[0 0 0 2 5 7 6 3 0 0]'; % Y-Achse aufgenommener Kraftwert
A =[t k];
sp=min(find(diff(k)>0)); % Sucht den Startzeitpunkt
A(1:(sp-1),:)=[]; % löscht Zeilen vor dem Startpunkt
t_versch=t(sp); % Wert um den die t-Achse (bzw. X-Achse) verschoben werden muss
A(:,1)=A(:,1)-t_versch; % A ist nunr auf den Ursprung verschoben

_________________

Grüße Equi Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Absolut_Beginner
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 27.05.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2017, 12:06     Titel:
  Antworten mit Zitat      
genau, so in der Art hab ich das auch gemacht Smile

habe jetzt nur das Problem, dass für insgesamt 50 Datensätze es schwer ist einen gemiensamen Nenner zu finden, da manchmal der erste Wert beim diff<10 ein Ausreiser ist und der eigentliche Anstieg viel später erst kommt.

Hast du da noch einen Rat, wie ich vielleicht hinbekomm, dass ich den Zeitpunkt möchte, an dem die nächsten 10 Werte von diff größer als 10 sind?

LG
Private Nachricht senden Benutzer-Profile anzeigen
 
equi
Forum-Century

Forum-Century


Beiträge: 123
Anmeldedatum: 07.03.17
Wohnort: Tübingen
Version: Matlab 2018a
     Beitrag Verfasst am: 07.09.2017, 13:06     Titel:
  Antworten mit Zitat      
Wenn dieser Ausreiser zum Beispiel nur ein Messpunkt ist, könntest du eine zweite Bedingung einführen die zur diff<10 ebenfalls erfüllt werden muss.

Würde dir vorschlagen wenn es nur ein oder 2 Messpunkte als Ausreißer sind zu definieren, dass beispielsweiß mindestens 3 aufeinanderfolgende Messpunkte die Bedingung diff>10 erfüllen müssen, sonst zählt es nicht als Startwert...

Bsp:

t0=0 k0=0
t1=1 k1=0
t2=2 k2=15
t3=3 k3=0
t4=4 k4=11
t5=5 k5=22
t6=6 k6=33

Nur Bedingung diff>10 --> Startpunkt bei t1=1

Bei Bedingung diff>10 UND 3 Messpunkte in folge diff>10
--> Startpunkt bei t3=3

Ich hoffe du verstehst was ich mein Very Happy
Die Anzahl der aufeinanderfolgenden Messpunkte musst du natürlich dementsprechend anpassen, falls dies eine Möglichkeit wäre
_________________

Grüße Equi Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.