Forum: Mikrocontroller und Digitale Elektronik Sin interpolieren


von Der_ich (Gast)


Lesenswert?

Hallo,

hat zufällig wer von euch einen fertigen Quellcode, welcher mir die 
Werte eines Sinus aus einer Tabelle interpoliert?

von nop(); (Gast)


Lesenswert?

Welche Genauigkeit sollt's denn sein ?

von nop(); (Gast)


Lesenswert?

Mit oder ohne float ?

von Der_ich (Gast)


Lesenswert?

Ohne float, nur Integer-Werte!

von Der_ich (Gast)


Lesenswert?

Der Zahlenbereich reciht von 0.....16384.

von Matthias (Gast)


Lesenswert?

ja, hier:

winkel         sin(winkel)
 -44.. 45              0
  46..135              1
 136..215              0
 216..305             -1
------------------------------
 306..315              0

von Mathematiker (Gast)


Lesenswert?

1
Sintab[0]=0;
2
Sintab[1]=1;
3
Sintab[2]=0;
4
Sintab[3]=-1;
5
Sintab[4]=0;
6
7
float Sin(x){
8
  float a,b;
9
  a=floor(2*x/pi);
10
  b=x-a;
11
  return (1-x)*Sintab[(int)a]+x*Sintab[(int)a+1];
12
}

(c) 2007 by me

Viel Spaß damit!

von Mathematiker (Gast)


Lesenswert?

>Der Zahlenbereich reciht von 0.....16384.

Soweit ich weiß, reicht der Zahlenbereich von -oo bis +oo.

von Karl H. (kbuchegg)


Lesenswert?

Lass dir doch nicht alles aus der Nase ziehen und spezifiziere
doch endlich mal die Funktion:

Welche Eingangswerte hat sie (Datentyp, Wertebereich)
Welche Ausgangswerte hat sie (Datentyp, Wertebereich)
Sonstige Angaben (Tabellengröße, Art der Interpolation, etc)

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.