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

Sinuskurve erkennen

 

Schnuki

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.10.2011, 10:27     Titel: Sinuskurve erkennen
  Antworten mit Zitat      
Hallo zusammen,

für mein programm bekomme ich verschiedene Signale rein, die jeweils einen Graphen darstellen. Jetzt stellt sich für mich die Frage, wie bekomme ich raus, ob es eine Sinuskurve ist?

Zur Verfügung habe ich nur die Werte und die Zeitbasis.

Kann mir da jemand helfen?

Viele Grüße,

Bianca


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 14.10.2011, 10:31     Titel:
  Antworten mit Zitat      
Meinst du ein reines Sinussignal einer einzelnen Sinusfkt.? Oder kann dieses Signal auch aus mehreren Sinusfkt. überlagert sein? Ist es für dich wichtig, ob Sinus oder Cosinus?
Private Nachricht senden Benutzer-Profile anzeigen
 
Schnuki

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.10.2011, 10:41     Titel:
  Antworten mit Zitat      
Genau, ich meine ein Sinussignal und es ist egal ob Sinus oder Cosinus. Ich muss prinzipiell nur den Unterschied zwischen einem normalen Graphen und einer Kurve. Hab mal zwei beispielbilder angehängt.

graph.jpg
 Beschreibung:
mein graph

Download
 Dateiname:  graph.jpg
 Dateigröße:  15.93 KB
 Heruntergeladen:  926 mal
kurve.jpg
 Beschreibung:
meine sinuskurve (können auch andere kurven sein)

Download
 Dateiname:  kurve.jpg
 Dateigröße:  18.77 KB
 Heruntergeladen:  876 mal
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 14.10.2011, 11:02     Titel:
  Antworten mit Zitat      
Tut mir Leid Schnuki...aber irgendwie verstehe ich den Zusammenhang von Graph und Kurve/Sinusfkt. nicht. Kannst du das bitte mal genauer erklären?
Private Nachricht senden Benutzer-Profile anzeigen
 
Schnuki1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.10.2011, 11:22     Titel:
  Antworten mit Zitat      
Vielleicht war das etwas kompliziert geschrieben. ich versuch es nochmal zu erklären.

meine aufgabe ist es bei graphen die Stufen bzw. die veränderung zu erkennen. Bei dem Bild graph.jpg, ist das ganz einfach. ich krieg nämlich als parameter nur einen array von werten und einen array von zeitwerten.

bei einem graphen hab ich z. b. sowas:

Code:

arr = [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 0, 0, 0, 4, 4, 4, 4, 4, 4, 2, 2, 2, 5, 5, 5, 5, 5]';

time_arr = [0,0.0100,0.0200,0.0300,0.0400,0.0500,0.0600,0.0700,0.0800,0.0900,0.1000,0.1100,0.1200,0.1300,0.1400,0.1500,0.1600,0.1700,0.1800,0.1900,0.2000,0.2100,0.2200,0.2300, 0.2400,0.2500,0.2600,0.2700,0.2800]
 


bei einer Sinuskurve krieg ich z.B. sowas rein:

Code:

sin_arr=[0,0.0998,0.1987,0.2955,0.3894,0.4794,0.5646,0.6442,0.7174,0.7833,0.8415,0.8912,0.9320,0.9636,0.9854,0.9975 ...]
 


und den zugehörigen Zeitwert array (hab jetzt nicht alles aufgelistet, sind ein paar mehr werte als oben)

Wie kann ich jetzt nun anhand der werte rauslesen, ob es sich um einen sinusgraphen handelt?

Ich hoffe ich konnte es nun besser darstellen...
 
Kevin
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 93
Anmeldedatum: 18.08.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.10.2011, 16:10     Titel:
  Antworten mit Zitat      
Hallo,
ich muss ehrlich sagen, dass ich auch nicht weiß, ob ich dich richtig verstehe, aber ich versuchs mal:

Zitat:

Vielleicht war das etwas kompliziert geschrieben. ich versuch es nochmal zu erklären.

meine aufgabe ist es bei graphen die Stufen bzw. die veränderung zu erkennen.


An den Stufen wird die Ableitung sprunghaft riesig. Also zur Stufenerkennung würd ich ableiten.


Das Problem mit dem Sinus hab ich ehrlich gesagt nicht verstanden, daher schweige ich dazu.



Gruß
Kevin
_________________

1000 Buchstaben? Warum nur 6?
Private Nachricht senden Benutzer-Profile anzeigen
 
Schnuki1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.10.2011, 07:09     Titel:
  Antworten mit Zitat      
Hallo,

Kevin hat Folgendes geschrieben:

An den Stufen wird die Ableitung sprunghaft riesig. Also zur Stufenerkennung würd ich ableiten.


also die Stufen erkenne ich ja bei einem graphen (z.b. wenn es sich um einen wie in graph.jpg handelt). Aber bei einer Sinuskurve kann ich ja keine Stufen erkennen, da mir mein programm bei jedem Wert eine Veränderung zum vorhergehenden ausgibt. Ich müsste somit bei einer Sinuskurve oder egal welcher Kurve immer das Maximum und Minimum herausfinden, aber bevor ich das machen kann, muss ich erstmal rausfinden, ob es sich um so eine Kurve handelt. Und genau das ist mein Problem.

Wie ich nur durch die Werte, die ich bekomme, erkennen kann, dass es sich um eine Kurve handelt und nicht um graphen, die Stufensprünge haben?

ich hoffe ich konnte es so besser erklären.





P.S. vielleicht liest ja ein Admin mit, ich hab mich im Forum angemeldet als Schnuki, leider hab ich bis jetzt noch keine email bekommen, um die Registrierung abzuschließen...
[JanS, 17-Oct-2011 08:12, gelesen und an Admin weitergeleitet]
 
Kevin
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 93
Anmeldedatum: 18.08.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.10.2011, 09:10     Titel:
  Antworten mit Zitat      
Hallo,
bei der Sinusfunktion ändert sich die Ableitung nicht sprunghaft.

Wenn du die Kurve identifizieren willst bleibt die m.E. nur die Programmierung einer vollständigen Kurvendiskussion.

Aber mal was anderes: Was hast du denn hinterher mit der Kurve bzw. den Daten vor?

Gruß
Kevin
_________________

1000 Buchstaben? Warum nur 6?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.10.2011, 10:40     Titel:
  Antworten mit Zitat      
Hallo,

was ich machen würde, um die ursprüngliche Frage zu beantworten:
A*sin(B*x + C) + D an die Messdaten fitten und schauen, wie stark die Abweichungen sind.

Damit das klappt, sind gute Startwerte wichtig. Vorschlag:
A: (max - min)/2
B: über FFT
C: über erste Vorzeichenänderung
D: mean

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Martin
Admin

Admin



Beiträge: 652
Anmeldedatum: 16.06.07
Wohnort: Bietigheim-Bissingen
Version: ---
     Beitrag Verfasst am: 18.10.2011, 12:47     Titel:
  Antworten mit Zitat      
Hallo Schnuki,

Schnuki1 hat Folgendes geschrieben:
P.S. vielleicht liest ja ein Admin mit, ich hab mich im Forum angemeldet als Schnuki, leider hab ich bis jetzt noch keine email bekommen, um die Registrierung abzuschließen...
[JanS, 17-Oct-2011 08:12, gelesen und an Admin weitergeleitet]


Ja das ist richtig. Jedoch liegt das Problem an einem Buchstabendreher in der Mailadresse Wink Ich habe den User nun gelöscht und jetzt kannst du dich nochmal neu mit dem Namen anmelden.

Viele Grüße
Martin
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.