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

Zeiten aus Vektoren berechnen

 

Carmen_27

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2012, 14:39     Titel: Zeiten aus Vektoren berechnen
  Antworten mit Zitat      
Hallo,

mein Problem ist folgendes: Habe 2 Vektoren gegeben. Vektor A enthält Werte, Vektor B enthält zu den Werte die entsprechenden Zeiten. Zusätzlich gegeben ist eine obere Schranke und eine untere Schranke. Geplottet ergeben beide Vektoren eine oszillierende Funktion, welche über die obere und untere Schranke sich hinausbewegt und wieder zurück. Dies geschieht extrem oft. Wie kann ich nun die Gesamtzeit herausbekommen, wie lang die Kurve oberhalb der oberen Schranke war und die Gesamtzeit, die die Kurve unterhalb der unteren Schranke war?

Vielen Dank im Voraus!

Carmen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 03.02.2012, 14:43     Titel:
  Antworten mit Zitat      
naja wenn der abstand zwischen den messungen immer gleich groß ist kannst du ja einfach zählen wie viele über bzw unter der schranke waren.
Private Nachricht senden Benutzer-Profile anzeigen
 
Carmen_27

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2012, 14:49     Titel:
  Antworten mit Zitat      
So einfach ist das leider nicht.

A=[2;2.24;2.36;2.55;2.12;1.93]
B=[5.5;5.6;5.7;5.8;5.9;5.10]

obere Schranke beispielsweise y=2 (B ist die x-Achse). Die Kurve kommt ja in unregelmäßigen Abständen über die Schranken und ich kann nicht einfach die Zeiten addieren.
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 03.02.2012, 14:52     Titel:
  Antworten mit Zitat      
anaja wenn die obere schranke 2 ist und der abstand immer 0.1 wie ich das sehe und 4 werte über 2 liegen würde ich sagen das 0.4 die antwort ist ^^ in welchem format die zeit allerdings bei dir vorliegt weis ich nicht.
Private Nachricht senden Benutzer-Profile anzeigen
 
Carmen_27

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2012, 14:55     Titel:
  Antworten mit Zitat      
anbei der Plot als Beispiel.

1.png
 Beschreibung:

Download
 Dateiname:  1.png
 Dateigröße:  9.63 KB
 Heruntergeladen:  425 mal
 
Carmen_27

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2012, 14:58     Titel:
  Antworten mit Zitat      
Bin leider eine blutige Anfängerin in Matlab und habe keine Ahnung, wie ich dies Programmieren sollte. Hoffe, dass Ihr mir hier weiterhelfen könnt.

Carmen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 03.02.2012, 15:01     Titel:
  Antworten mit Zitat      
meine antwort belibt die gleiche ^^
Code:

o=3.5 %obere schranke
u=-3.5%untere schranke
dt=0.1 %zeitabstand zwischen den messungen
OT=sum(A>o)*dt
UT=sum(A<u)*dt
Private Nachricht senden Benutzer-Profile anzeigen
 
Carmen_27

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2012, 15:21     Titel:
  Antworten mit Zitat      
Genau ist dies aber nicht. Zwischen den einzelnen Punkten wird doch beim polten interpoliert. Nehmen wir an, ein Wert liegt oberhalb der Schranken und zwei Werte liegen darunter (Dreieck). An der Spitze vom Dreieck liegt der Punkt oberhalb der Schranke. Wie kann ich dann die Zeit berechnen, wo die Kurve oberhalb der Schranke liegt? Man weiss ja nicht genau ob 1*dt ist, da man nicht mehr Werte hat. Wie muss man mit so etwas umgehen?
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 03.02.2012, 15:37     Titel:
  Antworten mit Zitat      
wenn du willst kannst du dir ja mit interp1 noch werte interpolieren bis es dir genaugenug ist.100% genau bekommst es ja nie hin weil dein signal nicht kontinuirlich ist Smile man hat ja immer ne abtastrate. manche zeitabschnitte bewertest du zu groß und manche zu klein. wie genau die methode ist is dann en sache der fehlerabschätzung. mit anderen worten. du kennst die werte zwischen deinen messungen nicht. von daher kannst du auch nicht urteilen ob die methode genau ist oder sehr ungenau. aber ich denke bei genügend messwerten wird schon ein halbwegs genaues ergebniss rauskommen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Carmen_27

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2012, 15:53     Titel:
  Antworten mit Zitat      
Da hast Du recht! Wie füge ich "interp1" in obigen Code ein?
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 03.02.2012, 16:00     Titel:
  Antworten mit Zitat      
Code:


x und y hast du schon. jetzt musst du dir nur noch ein xx generieren also eine vektor mit ner höheren zeitauflösung und dann bekommst yy raus.
bei den beispielen get das recht gut hervor. und dann wärtest du halt dein interpoliertes datenmaterial aus und benutzt da als multiplikator halt den neuen zeitunterschied
Private Nachricht senden Benutzer-Profile anzeigen
 
Carmen_27

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2012, 16:39     Titel:
  Antworten mit Zitat      
Vielen Dank!
 
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.