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

Wie finde ich die dazugehörigen Y Werte??

 

ertl87
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 28.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.11.2013, 20:06     Titel: Wie finde ich die dazugehörigen Y Werte??
  Antworten mit Zitat      
Hallo Leute,

kurze Frage, ich glaub sollte nicht so schwer sein, aber irgendwie bekomm ich das nicht hin! Wink

Ich habe ein Signal, und möchte die Veränderung nach 0-50-80-100-150-200-250 ms ansehen - also die dazugehörigen y Werte! (ich muss dann jeweils die ms in Frames umrechnen, oder?)

also wenn ich mir die Maxima einer Funktion ansehen möchte geht das ja so:

Code:
[pos,val]=max(EMG)


dann hab ich die Position Xmax und den dazugehörigen Ymax wert!

Nun hab ich bereits die X werte /also die Zeitintervalle bzw Zeitschritte besser gesagt, und bräuchte dann die Y Werte.

Und angenommen ich hätte dann die jeweiligen Koordinaten, dann würde ich gerne zwischen den Punkten Geraden Plotten:

Code:
plot([x(0):y(0)],[x(20):y(20)]);


x(0)...zum Zeitpunkt Null
y(20)... zum Zeitpunkt 20ms

stimmt das so?

und meine Letzte Frage ist: WIe kann ich dann die Steigung dieser Geraden berechnen??

Vielen Dank für eure Hilfe
glg peter
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.11.2013, 20:09     Titel:
  Antworten mit Zitat      
Hallo,

wie sind denn deine Daten abgetastet? Unregelmäßig? Regelmäßig, und wenn ja in welcher Frequenz?

Steigung einer Geraden:
http://de.wikipedia.org/wiki/Steigung

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
ertl87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 28.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.11.2013, 20:11     Titel:
  Antworten mit Zitat      
Frequenz ist Fs=1500 Hz

also ich denke regelmäßig, bin mir aber nicht ganz sicher was das heißt!

Gruß
Peter
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.11.2013, 20:23     Titel:
  Antworten mit Zitat      
Hallo,

"regelmäßig" heißt, dass der zeitliche Abstand zwischen 2 Messungen immer gleich ist.

Wenn du eine Frequenz von 1500 Hz. hast, dann heißt das 1500 Messungen / Sekunde bzw. Zeitabstand 1/1500 s zwischen zwei Messungen. Damit ist natürlich der 20. Messwert nicht der nach 20ms (warum auch?), sondern der nach 19/1500 s [ausgehend davon, dass die Messung bei t = 0 beginnt]. Du musst das also umrechnen. Bedenke auch, dass die Indizierung in MATLAB bei 1 beginnt.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
ertl87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 28.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.11.2013, 21:26     Titel:
  Antworten mit Zitat      
ok, dann ist die Messung wie gesagt eine regelmäßige! mit einer Messfrequenz von 1500 Hz

Ja das mit den Frames ist mir klar... eines der wenigen Dinge in Matlab.. Wink
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
ertl87
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 28.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.11.2013, 14:41     Titel:
  Antworten mit Zitat      
Hallo,

Wie gesagt habe ich einen Vekor F-ist ein Spaltenvektor - mit Drehmomentwerten (1:6000) und von diesem Spaltenvektor benötige ich die y Werte für nachfolgende x werte:

Ich habe es mal mit einer For - Schleife probiert die wie folgt lautet:

Code:
for x=[3000 3500 50 100 150 200 250 300]
    A(1,:)=F(x)
      disp(A)
end
 


Ich hätte gerne dann alle y Werte(x(3000)='value', x(3500)='value') in einem Spaltenvektor A, die Frage ist, wie ich das mache!
leider komm ich nicht weiter, als es oben zu sehen ist! habe es auch mit dem Befehl "find" probiert...auch nicht mit dem gewünschten Erfolg!

Ist eine regelmäßiges Signal mit einer Abtastfrequenz von 1500 Hz!

Mit der Bitte um Hilfe,
Grüße
Peter
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.11.2013, 18:29     Titel:
  Antworten mit Zitat      
Hallo,

wenn die F-Werte für bestimmte Elemente brauchst, ist es eine einfache Indizierung.
Code:


Wenn du die y-Werte zu bestimmten Zeiten brauchst, musst du vorher die Zeiten auf Indizes (quasi laufende Nummern) umrechnen.

Der vorhandene Code macht definitiv keinen Sinn, weil A laufend überschrieben würde. Meine Empfehlung wäre an dieser Stelle eine systematische Einarbeitung in die Grundlagen von MATLAB.

Grüße,
Harald
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 - 2024 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.