Sinus Reihenentwicklung
Sinus Reihenentwicklung
Hi Leute,
ich beschäftige mich in der freizeit mit etwas programmieren und hab mir ein literaturbuch ausgeliehen welches als aufgabe die reihenentwicklung einer sinusfunktion in c erfordert. nun bin ich noch gar nicht so gut mit der sprache vertraut und würde mich über ratschläge freuen wie man denn an die sache rangehen soll
sin(x)= x-(x³/3!)+(x^5/5!)+...
- Übernahme des eingabewertes in grad
- umrechnung des eingabewertes ins bogenmaß
- schrittweise berechnen des ergebniswertes
- vorzeichenwechsel bei jedem schritt
- festlegung eines abbruckkriteriums
- ausgabe des rechnerergebnisses und der anzahl der durchgeführten iterationen
a) formulieren sie ihren algorithmus als c-quelle
b) erweitern sie nun ihr programm so, dass ein vergleich mit der in der standardbibliothek <math.h> verfügbaren realisierung von sin(x) möglich ist. realisieren sie dafür z.b. folgende ausgaben: Mein sin(90°)= 1.0000000; anzahl der schritte: 39
Liebe Grüße Miriam
ich beschäftige mich in der freizeit mit etwas programmieren und hab mir ein literaturbuch ausgeliehen welches als aufgabe die reihenentwicklung einer sinusfunktion in c erfordert. nun bin ich noch gar nicht so gut mit der sprache vertraut und würde mich über ratschläge freuen wie man denn an die sache rangehen soll
sin(x)= x-(x³/3!)+(x^5/5!)+...
- Übernahme des eingabewertes in grad
- umrechnung des eingabewertes ins bogenmaß
- schrittweise berechnen des ergebniswertes
- vorzeichenwechsel bei jedem schritt
- festlegung eines abbruckkriteriums
- ausgabe des rechnerergebnisses und der anzahl der durchgeführten iterationen
a) formulieren sie ihren algorithmus als c-quelle
b) erweitern sie nun ihr programm so, dass ein vergleich mit der in der standardbibliothek <math.h> verfügbaren realisierung von sin(x) möglich ist. realisieren sie dafür z.b. folgende ausgaben: Mein sin(90°)= 1.0000000; anzahl der schritte: 39
Liebe Grüße Miriam
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Sinus Reihenentwicklung
Hallo und Willkommen im ForumHi Leute,

Die Methode "Teile und Herrsche" hat sich oft als Erfolgreich gezeigt. Teile dein Problem in kleinere auf, die du dann gezielt lösen kannst.nun bin ich noch gar nicht so gut mit der sprache vertraut und würde mich über ratschläge freuen wie man denn an die sache rangehen soll
Du willst eine Funktion, die eine gradzahl entgegen nimmt:- Übernahme des eingabewertes in grad
Code: Alles auswählen
double sin(double grad)
{
[...]
}
Du hast nun also einen Gradwert in der Variable "grad".umrechnung des eingabewertes ins bogenmaß
Der Zusammenhang zwischen Grad und Bogenmaß ist der Folgende:
Code: Alles auswählen
360° = 2*Pi
Code: Alles auswählen
180° = Pi
Das logischste Abbruchkriterium ist das erreichen einer gewissen Signifikanz. Wenn der gerade Berechnete Therm kleiner ist als eine Gewisse schwelle, z.B 10^-5, dann ist die Änderung am Gesamtergebnis so gering, dass weitere Iterationen nichts mehr bringen werden.festlegung eines abbruckkriteriums
Das schreit nach einer Schleife. Da du hier eine Abbruchbedingung hast, empfiehlt sich eine do-while schleife:schrittweise berechnen des ergebniswertes
Code: Alles auswählen
do
{
//Berechnen
}while(therm > SIGNIFIKANZ);
Das kann man realisieren, indem man in einer Variable eine 1 speichert und in jedem Durchlauf mit -1 multipliziert und eben auch mit deinem berechneten Therm.vorzeichenwechsel bei jedem schritt
Dann zu deiner Reihenentwicklung
Code: Alles auswählen
sin(x)= x-(x³/3!)+(x^5/5!)+...
Ich hoffe ich konnte dir weiterhelfen. Sollte irgendetwas nicht verständlich sein, bitte Meckern und Fragen

Mit freundlichen Grüßen
cloidnerux.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
Re: Sinus Reihenentwicklung
http://www.coding-board.de/showthread.p ... -mit-Sinus
Um inhaltsgleiche Posts zu verhindern...
Um inhaltsgleiche Posts zu verhindern...
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Sinus Reihenentwicklung
Wir sollten einen Rang für Leute wie dich einführen, Post-Wächter oder sohttp://www.coding-board.de/showthread.p ... -mit-Sinus
Um inhaltsgleiche Posts zu verhindern..

Aber finde ich gut, dass jemand das nicht nur bemerkt sondern auch mitteilt, dass da in mehreren Foren gleichzeitig dieselbe Frage gestellt wird.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Sinus Reihenentwicklung
Andererseits finde ich es auch nicht schlimm, dass man sich auf der Suche nach einer Antwort auf mehrere Foren verteilt. Kein Forum kann zum Beispiel garantieren, dass es auf alle Fragen eine sinnvolle Antwort liefern kann.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Sinus Reihenentwicklung
Ich ja auch nicht. Aber potentielle Antworter könnten sich einen Post sparen, wenn sie sehen, dass nebenan der gleiche Ansatz schon gepostet wurde.
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Sinus Reihenentwicklung
Ich muss mal ein Daumen Hoch Smiley einfügensebix hat geschrieben:Ich ja auch nicht. Aber potentielle Antworter könnten sich einen Post sparen, wenn sie sehen, dass nebenan der gleiche Ansatz schon gepostet wurde.

Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- darksider3
- Beiträge: 347
- Registriert: Fr Sep 14, 2012 6:26 pm
- Wohnort: /dev/sda1
- Kontaktdaten:
Re: Sinus Reihenentwicklung
Auf die gefahr hin, das dies einen Fetten Spoiler darstellt, aber dennoch für die Nachleser interessant sein dürfte, welche nicht so viel von Mathe verstehen...
http://www4.cs.fau.de/Lehre/SS06/V_SPIC ... /D2-A4.pdf
http://www4.cs.fau.de/Lehre/SS06/V_SPIC ... /D2-A4.pdf
effizienz ist, wenn ich ein loch bohre und hinterher mein nachbar auch ein bild aufhängen kann... ^^
Meine Homepage und der Microblog von mir
Live Life dont let Life Live You!
Am meisten Aktiv in Webentwicklung und PHP im Wiki
Meine Homepage und der Microblog von mir

Live Life dont let Life Live You!
Am meisten Aktiv in Webentwicklung und PHP im Wiki