Forum: Digitale Signalverarbeitung / DSP / Machine Learning math. Funktion Dreieck oder Sägezahn


von Mori (Gast)


Lesenswert?

Hallo zusammen.

ich möchte dreieckförmige oder sägezahnförmige Funktion plotten,
kann mir jemand weiterhelfen und schreiben wie die mathematische 
Funktion von Dreieck- und Sägezah- Funktion definiert sind.

Danke schönmal im voraus.

Grüß
Mori

von Alex W. (Firma: FH) (olek)


Lesenswert?

ich habs dummerweise nur als Code :/


----------------------------------------------------------------
1
float Funktionen(float w,float t,float p,float Faktor,float Amplitude,int G,int Funktion)
2
{
3
  
4
  
5
  float y=0; // Definition der Variable y, zum aufnehmen des errechneten y Wertes
6
  
7
  switch(Funktion)
8
   {
9
     case 1:
10
          y = cos(w*t+p)*Faktor*Amplitude;    //Cosinus-Funktion 
11
     break;
12
     
13
     case 2:
14
          y = sin(w*t+p)*Faktor*Amplitude;    //Sinus-Funktion
15
     break;
16
     
17
     case 3:
18
          y = tan(w*t+p)*Faktor*Amplitude*-1;    //Tangens-Funktion 
19
     break;
20
     
21
     case 4:
22
          for (float n=1;n<G;n+=2)           //Dreiecks-Funktion   
23
              y = (y*(+1)+((1/pow(n,2))*(cos(n*w*(t+p))*Faktor*Amplitude)));                    
24
           y = (8/pow(PI,2))*y;
25
     break;
26
     
27
     case 6:
28
          
29
          for (float n=1;n<G;n+=2)           //RechtEck-Funktion       
30
              y = (y+(1/n)*sin(n*w*(t+p))*Faktor*Amplitude);                                    
31
           y = (4/PI)*y; 
32
     break;
33
     
34
     case 5:
35
          for (float n=1;n<G;n++)             //Sägezahn-Funktion      
36
              y = (y+(1/n)*sin(n*w*(t+p))*Faktor*Amplitude);                                    
37
           y = (-2/PI)*y;
38
     break;
39
     
40
     default:;
41
    }
42
      
43
              
44
 return y; //Rückgabe des grade errechnenten y wertes, der gewählten Funktion      
45
}
----------------------------------------------

Edit:
Hab doch was gefunden :)

http://www.ilp.physik.uni-essen.de/vonderLinde/lehrveranstaltungen/PHYSIK_II/Material/fourier_reihen.pdf

von Mori (Gast)


Lesenswert?

danke Alex,
die Fourierreihnenvon den beiden könne ich  aber  wollte  eigentlich 
eine andere mathematische Gleichung für Dreieckfunktion und 
Sägezahnfunktion

von Murat (Gast)


Lesenswert?

Ich verstehe nicht, was an Dreieick und Sägezahn so kompliziert sein 
soll und wozu man diese komplexe Formel braucht?

von Olek (Gast)


Lesenswert?

Wie ne andere Formel?

was hindert dich daran mit den Gleichungen deine Funktion zu plotten?

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Wie wärs mit Rest/Modulus?

von Alex W. (Firma: FH) (olek)


Lesenswert?

ich vergesse mich immer anzumelden....


Wenn Du das reinknallst sollten da lauter Dreiecke rauskommen :D
und x geht von -inf bis +inf.

Da kommen aber nur Punkte raus! die musst dann mit einer Spline 
verbinden, ein Polynom ist mir noch nicht über den Weg gelaufen, das 
diesen Verlauf hat :D

von ich (Gast)


Lesenswert?

Mori schrieb:
> Funktion von Dreieck- und Sägezah- Funktion definiert sind.

Sägezahn:
f(x)=1/2 pi * x, x=[0.. 2 * pi)

Dreieck mit Maximum bei xp:

f(x)=1/xp * x - theta(x-xp)  k  (x - xp), x=[0.. 2 pi)

theta(x)= 0 für x<0, = 1 für x >= 0
k ist passend zu wählen, so dass f(2 pi) = 0 wird.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Das Problem ist wahrscheinlich, dass beide Funktionen nicht stetig sind. 
Die Umkehrpunkte des Dreiecks und noch schlimmer der theoretisch 
unendlich schnelle Rücksprung des Sägezahns sind nicht ableitbar.

von Mark B. (markbrandis)


Lesenswert?

Differenzierbarkeit ist, soweit ich weiß, keine Voraussetzung für 
Stetigkeit. Die Dreiecksschwingung ist meiner Meinung nach durchaus 
stetig.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Stimmt, auf diese Feinheiten hatte ich  nicht geachtet
http://de.wikipedia.org/wiki/Stetigkeit#Differenzierbarkeit_stetiger_Funktionen
"Stetige Funktionen sind nicht notwendig differenzierbar."
"Eine Funktion heißt stetig, wenn verschwindend kleine Änderungen des 
Argumentes (der Argumente) nur zu verschwindend kleinen Änderungen des 
Funktionswertes führen."

von J.F. (Gast)


Lesenswert?

Mori schrieb:
> die Fourierreihnenvon den beiden könne ich  aber  wollte  eigentlich
> eine andere mathematische Gleichung für Dreieckfunktion und
> Sägezahnfunktion

Und? War inzwischen was passendes dabei?

von Bernd (Gast)


Lesenswert?

Für den Sägezahn kannst du eine Modulo-Operation verwenden.
f(x) = (m*x) MODULO n

von Harald (Gast)


Lesenswert?

Einen grossen Vektor nehmen, Bits abschneiden und Multiplizieren ist 
aber einfacher. Oder man mit nimmt einen noch gröéren Akku und 
multipliziert gleich die Freuquenz über die Schrittweite rein.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.