Office: Programmierung der Kreiszahl Pi

Helfe beim Thema Programmierung der Kreiszahl Pi in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; hallo zusammen... bin neu hier...;-) Und hoffe hier etwas Hilfe zu finden. Gleich vorne weg...ich bin ein VBA-Neuling!!!! Nun zu meinem Problem: ich... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von xmurphyx, 10. Januar 2009.

  1. Programmierung der Kreiszahl Pi


    hallo zusammen...
    bin neu hier...;-) Und hoffe hier etwas Hilfe zu finden. Gleich vorne weg...ich bin ein VBA-Neuling!!!!
    Nun zu meinem Problem: ich habe hier eine Aufgabe an der ich momentan etwas festhänge!!
    Und zwar lässt sich die Kreiszahl "Pi" folgendermaßen durch eine Reihenentwicklung berechnen:
    Pi/4 = 1-1/3+1/5-1/7+1/9 usw...

    Ich soll jetzt eine Funktion programmieren Pi/2(exact as integer), die Pi auf exact Stellen genau ausrechnet.
    Leider habe ich noch überhaupt keinen Ansatz gefunden wie ich das realisieren soll!
    Hat von euch jemand eine Idee wie man das machen könnte???

    Mfg xMurphYx

    :)
     
    xmurphyx, 10. Januar 2009
    #1
  2. Hi,

    wozu das gut sein soll - und nicht =PI()/4 - weiß ich nicht?

    Als Formel lautet die Reihe:
    =1+SUMMENPRODUKT(1/((ZEILE(2:65536)-1)*4+1))-SUMMENPRODUKT(1/((ZEILE(2:65536)-1)*4-1))
    Mußt Du nach VBA umfummeln.

    Salut WF
     
  3. FW
    FW
    ... zunächst einmal folgende Vorbemerkungen:

    Die Funktion ArcusTangens liefert für das Argument 1 den Wert Pi/4 zurück.
    In VB heißt diese atn, in Excel ARCTAN.
    Die Excel-Formel aus #2 wird Dir wahrscheinlich nicht viel weiterhelfen, weil Du wohl die beschriebene Formel als VB-Funktion umsetzen sollst?

    exact als Integer festzulegen, macht nicht viel Sinn, weil mit dem Datentyp Double max. 15 signifikannte Stellen dargestellt werden.
    Deshalb ist eine Genauigkeit größer als 15 Stellen nicht sinnvoll und würde zu einer Endlos-Berechnung führen!

    Mir sieht das Ganze nach einer Art Hausaufgabe aus, deshalb möchte ich Dir keine fertige Lösung präsentieren.
    Beschreibe doch besser mal, wo es genau bei Dir hapert...
     
  4. Programmierung der Kreiszahl Pi

    hallo...
    ich wollte euch mal mein Programm posten. Allerdings kommt das falsche Ergebnis raus, ich sehe aber meinen Fehler nicht.
    Ich denke mal das mein Bildungsgestz richtig sein müsste.
    Mfg xMurphyx
     
    xmurphyx, 13. Januar 2009
    #4
  5. Auch Hallo,

    Du summierst nicht.

    x = x + (-1) ^ i / (2 * i + 1)

    cu, Bernd
     
  6. warum ist dieser Schritt notwendig?? Also das summieren??
     
    xmurphyx, 13. Januar 2009
    #6
  7. Hi,

    weil Du nur ein Glied berechnest, für i=0 die 1, für i=1 -1/3, für i=2 +1/5, ...

    Summieren musst Du das schon auch, sonst wird da nie pi/4 draus.

    cu, Bernd
     
  8. Programmierung der Kreiszahl Pi

    jetzt funktionierts!!!!

    Aber ich muss die obere Grenze sehr hoch setzen damit ein annähernd genauer wert bei den Hinterkommastellen rauskommt. Gibt es einen befehl der diese Hinterkommastellen exact ausrechnet bis zur z.B 6.Hinterkommastelle???
     
    xmurphyx, 13. Januar 2009
    #8
  9. Heyho,

    hier ist mein Vorschlag, um eine gewünschte (aber fest eingeproggte) Genauigkeit anzugeben,
    aber schon bei 5 Stellen rechnet's bei mir mit der Reihenentwicklung deftig lang, ich bin normalerweise gewohnt, das Ergebnis mit Loslassen der Entertaste zu bekommen *wink.gif*

    Es sei erwähnt, dass auch ich ein VB-Neuling bin

    MfG

    Code:
     
  10. FW
    FW
    \@M...: Und was ist Round()?
     
  11. Heyho,

    hab mich nun mal angemeldet.
    Ich hab Round einfach probiert, muss ich gestehen, evtl. hab ich's auch irgendwo schonmal gelesen.
    Letztlich ist Round(x, t) eine Rundung von x auf t Nachkommastellen, zumindest kommt das bei mir raus *wink.gif*

    Zum Thema: Die lange Rechenzeit wird wohl maßgeblich an der Konvergenz o(1/k) für k gegen unendlich liegen, was verdammt wenig ist;
    eine bessere Konvergenz ist mit anderen Reihen sicherlich besser hinzubekommen, aber das hängt auch von der genauen Aufgabenstellung ab.

    MfG - MGM

    EDIT: Wer lesen kann... Die Reihe ist ja vorgegeben, also empfehle ich eine Genauigkeit von 4 (bei mir Loslassen der Entertaste), 5 (~4 Sekunden) oder 6 Stellen (~1 Minute), was übrigens in der Praxis schon ausreicht, um Flächen etc. hinreichend genau zu berechnen

    EDIT2: Das mit der Konvergenz ist evtl. etwas umständlich ausgedrückt, doch folgt ein Rechenaufwand bezogen auf Genauigkeit von t Stellen hinter dem Komma von O(10^(t+1)) bei obigem Algorithmus
     
  12. FW
    FW
    ... dann verstehe ich die Schleife nicht, While Round(s * 4, t + 1) ist doch immer größer 0? Die Schleife sollte also nie verlassen werden?
     
  13. Programmierung der Kreiszahl Pi

    Heyho,

    Der Summand s ist so konstruiert, dass er immer kleiner wird (genauer: mit alternierendem Vorzeichen gegen Null konvergiert).
    Bei Rundung auf eine endliche Stellenzahl ensteht also zwangsläufig die Null, und wir haben das Abbruchkriterium in Abhängigkeit von der Stellenzahl.

    [Die Multiplikation mit 4 übrigens, weil die Genauigkeit ja für die Annäherung von Pi selbst gewünscht ist]

    MfG - MGM
     
  14. FW
    FW
    ... super - danke...
     
Thema:

Programmierung der Kreiszahl Pi

Die Seite wird geladen...
  1. Programmierung der Kreiszahl Pi - Similar Threads - Programmierung Kreiszahl

  2. Acces Button Programmierung mit Zähler

    in Microsoft Access Hilfe
    Acces Button Programmierung mit Zähler: Hallo, bin am verzweifeln und komme einfach nicht weiter :oops: In meinem Access Formular habe ich Buttons. Ich möchte gerne auf den Button "A. Spinner" klicken, und beim Feld (Spinner) - direkt...
  3. Hilfe bei VBA-Programmierung

    in Microsoft Excel Hilfe
    Hilfe bei VBA-Programmierung: Hallöchen zusammen, ich bräuchte mal wieder eure Hilfe. Diesmal geht es um ein VBA-Programm bzw. -Funktion. Folgender Sachverhalt: Ich habe Rohdaten in einer Textdatei, die ich mir in Excel...
  4. VBA Programmierung Environ

    in Microsoft Excel Hilfe
    VBA Programmierung Environ: Hallo zusammen, wir haben bei der nachfolgenden Programmierung folgendes Problem: Private Const olExchangeGlobalAddressList As Integer = 0 Private Const olExchangeUserAddressEntry As Integer = 0...
  5. Einführung in die Access-Programmierung

    in Microsoft Access Tutorials
    Einführung in die Access-Programmierung: Einführung in die Access-Programmierung Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr......
  6. VBA Programmierung - Hilfe

    in Microsoft Excel Hilfe
    VBA Programmierung - Hilfe: Hallo zusammen, ich bin blutige VBA anfängerin in Excel und versuche mich einzuarbeiten. Im groben kann ich mir vorstellen wie der Aufbau ist, jedoch klappt es bei mir trotzdem nicht. Zur Übung...
  7. VBA Programmierung

    in Microsoft Excel Hilfe
    VBA Programmierung: @ All Erstmal muß ich vorweg sagen , schreiben das ich keinen blassen von der Materie habe. Deshalb möchte ich mal fragen ob mir das jemand dieses erklären kann ? mit einen Projekt was ich...
  8. BItte um Hilfe bei Makro Programmierung

    in Microsoft Excel Hilfe
    BItte um Hilfe bei Makro Programmierung: Hallo, ich habe da ein Problem. Bei der Berechnung von LOadcases benötige ich ein Makro. Ich habe 2 excel dateien. Datei 1 (Database)) Hier habe ich alle Loadcases und Ergebnisse. Datei2...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden