goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:

MATLAB, Simulink, Stateflow

Fachkräfte:
Testingenieur (w/m) Testframework für Simulink-basierte Echtzeitanwendungen
Pflege des MATLAB/Simulink-Testframeworks, Spezifizieren von Testkriterien, Testfällen und Testszenarien
dSPACE GmbH - Paderborn

Softwareentwickler MATLAB/Simulink (w/m)
Erarbeitung von Lösungen im Bereich der Schnittstelle zum Simulink-Modell und der Benutzeroberfläche von TargetLink
dSPACE GmbH - Paderborn

Testingenieur (w/m) Konfigurationswerkzeuge für Echtzeitsysteme
Einbinden von Simulink®-Simulationsmodellen, Verteilung der Simulationsmodelle auf Multicore- und Multiprozessorsysteme
dSPACE GmbH - Paderborn

Senior Software-Ingenieur/in Automotive
Entwicklung und Modellierung neuer Kundenfunktionen
ESG Elektroniksystem- und Logistik-GmbH - München

Entwicklungs-Ingenieure (m/w), BLDC Motoren und Steuerung
Entwicklung von Steuerstrategien für sensorlos betriebene Motoren
ixetic Bad Homburg GmbH - Bad Homburg

weitere Angebote

Partner:




Vermarktungspartner


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, 11: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: 850
Anmeldedatum: 28.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.10.2011, 11: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, 11: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:  43 mal
kurve.jpg
 Beschreibung:
meine sinuskurve (können auch andere kurven sein)

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

Beiträge: 850
Anmeldedatum: 28.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.10.2011, 12: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, 12: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, 17: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, 08: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, 10: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: 5356
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 17.10.2011, 11: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: 512
Anmeldedatum: 16.06.07
Wohnort: Sindelfingen
Version: ---
     Beitrag Verfasst am: 18.10.2011, 13: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



Options and Permissions
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2012 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.