Berechnung von Pi, näherungsweise
-
Hallo zusammen. Ich möchte nicht das jemand meine Hausaufgaben erledigt, aber bei dieser Aufgabenstellung fürs Studium komme nun wirklich grade an meine Grenzen.
Im Link habe ich euch die Aufgabenstellung verknüpft. Kann mir jemand einen Ansatz gehen wie und mit was ich an diese Aufgabenstellung heran gehen kann? Danke schonmal vorab für Hilfe
-
@steven-w Ich melde mich dafür nicht bei Microsoft an.
-
@DirkB sagte in Berechnung von Pi, näherungsweise:
@steven-w Ich melde mich dafür nicht bei Microsoft an.
Oh sorry das wusste ich nicht. Hier nen Link zur Aufgabenstellung.
-
Du mußt die zwei Formeln (der Teil nach dem
lim
) nach C++ übersetzen und dann eine Schleife für dien
-Werte darumherum schreiben (und pro Schleifendurchgang die Werte ausgeben).
Und du berechnest jeweils die Differenz beider Werte, bis diese kleiner als das vorgegebenec
ist.Falls du mit der Umsetzung der Formel nicht weiterkommst, kannst du ja deinen Code hier mal zeigen.
-
@steven-w die Aufgabenstellung ist doch eigentlich ziemlich klar. Was verstehst du nicht? Oder anders herum: was verstehst du?
-
@manni66
wenn ich mir die Formel anschaue, weiß ich nicht wofür x²i steht.
In der Aufgabenstellung steht n= 4,8, 16......was ist hier der Endwert?
-
@steven-w sagte in Berechnung von Pi, näherungsweise:
wenn ich mir die Formel anschaue, weiß ich nicht wofür x²i steht.
Das xi steht für (i/n). Davon das Quadrat
Beachte aber die mögliche Ganzzahldivision: 2/4 ist in C 0
2.0/4 ist 0.5In der Aufgabenstellung steht n= 4,8, 16......was ist hier der Endwert?
Du bestimmst 2 Werte. Einen über dem Kreis, einen unter dem Kreis.
Je größer das n, desto genauer werden die Werte.
Das Ende ist erreicht, wenn sich die zwei Werte nur noch um einen kleinen Betrag unterscheiden.
Dieser Betrag wird Epsilon genannt.
-
Das steht doch direkt unter der Formel:
d.h. du mußt dann diese noch quadrieren:
Und der Endwert wird ja durch die Abbruchbedingung bestimmt.
PS: @DirkB, deine Formeln werden nicht richtig dargestellt (die
*
-Zeichen bedeutet Kursiv-Darstellung). Benutze dafür den Code- oder Mathemodus (mittels Dollarzeichen:$...$
).
Kannst dir ja meine Formel mal anschauen (einmal "Zitieren" aufrufen).
-
@Th69 Danke.
Wann wurde der Mathemodus denn eingeführt (da ist dann wohl TEX drin)?
-
@DirkB: Den gab es schon im alten Forum, s.a. im Matheforum gepinnten Ab sofort LaTeX Tags.
-
@Th69
Ich habe jetzt mal versucht die erste Formel umzusetzen: n habe ich jetzt einfach mal für den Anfang den Wert 4 gegeben.//Quadrat
double sqr (double x)
{
return (x*x);
}double n = 4;
int i = 1;
float x = sqr(i/n);int main(){
//Berechnung Pi bzw n innen
pi_innen = n * 4 * n * (1/n) * sqrt(1-x);
Ist die Formel soweit richtig umgesetzt?
-
@steven-w sagte in Berechnung von Pi, näherungsweise:
Ist die Formel soweit richtig umgesetzt?
Nein.
Das große Sigma steht für Summe. Da ist eine Schleife nötig.
-
Von was soll das Sigma die Summe haben, links davon oder rechts davon. Über dem Sigma steht n, drunter i= 1. Wie kann ich das verstehen, was meinst du mit Schleife?
-
@steven-w sagte in Berechnung von Pi, näherungsweise:
Von was soll das Sigma die Summe haben, links davon oder rechts davon. Über dem Sigma steht n, drunter i= 1. Wie kann ich das verstehen, was meinst du mit Schleife?
Besuchst du keine Mathevorlesung im Studium?
Als Hinweis: https://de.wikipedia.org/wiki/Summe?wprov=sfti1
-
@DirkB
Nee habe kein Mathekurs, mache das Studiumsemester zusätzlich zu meiner Ausbildung.Hier die neue Version:
double n = 4;
int i = 1;
float x = sqr(i/n);
double pi_innen;int main(){
//Berechnung Pi bzw n innen
pi_innen = 4 * ( (1/n) * sqrt((1 - sqr(i/n))) + (1/n) * sqrt((1 - sqr((i+1)/n))) + (1/n) * sqrt((1 - sqr((i+2)/n))) + (1/n) * sqrt((1 - sqr((i+3)/n))) );
cout << pi_innen << endl;
Komm ich der Sache näher?
-
@steven-w sagte in Berechnung von Pi, näherungsweise:
Komm ich der Sache näher?
Ja.
Aber dafür gibt es Schleifen.
Wenn man vorher weiß, wie oft die durchlaufen wird, nimmt man die for-Schleife.Und nimm
double
stattfloat
-
Weißt du wirklich nicht, was eine Schleife ist? Du hast doch sicherlich schon mal
for
oderwhile
benutzt.
-
Doch eine Scheife sagt mir schon was, mir fehlt nur der Ansatz wie ich sie hier einsetze soll.
-
@steven-w sagte in Berechnung von Pi, näherungsweise:
Doch eine Scheife sagt mir schon was, mir fehlt nur der Ansatz wie ich sie hier einsetze soll.
Dir fehlt kein Ansatz. Du hast nicht gelernt und kommst jetzt ins Schwimmen. Wenn du das nicht schleunigst nachholst, wirst du die Prüfung nicht schaffen.
Ansatz: du verwendest i+1, i+2, ... wo könnte da eine Schleife passen.
-
@steven-w sagte in Berechnung von Pi, näherungsweise:
Doch eine Scheife sagt mir schon was, mir fehlt nur der Ansatz wie ich sie hier einsetze soll.
double summe = 0; int n = 10; for(int i = 0;i < n;++i) { summe = summe+i; }
Summiert die Zahlen von 0 bis 9.
Ausgeschrieben wäre dassumme = 0+1+2+3+4+5+6+7+8+9;
Jetzt vergleich das mal mit deinem Term (Formel).
(Dieses Beispiel geht mit dem „kleinen Gauß“ eleganter)