Doppelsummanden berechnen?

...komplette Frage anzeigen

2 Antworten

In der Aufgabe steckt mehr drin als man denkt!

Die innere Summe:

sum cos(Pi*(l+k)/2),l=0...k 

= ((-1)^k+sqrt(2)*sin(Pi/4-(k*Pi)/2))/2
 

damit lässt sich alles zu einer Summe schreiben:

sum ((-1)^k+sqrt(2)*sin(Pi/4-(k*Pi)/2))/2,k=0...n

 
(also viel allgemeiner als Dein Sonderfall mit n=2)

und das ist identisch zur expliziten Funktion
=(-1)^n/4+cos((Pi*n)/2)/2+1/4
=((-1)^n+2*cos((Pi*n)/2)+1)/4 

mit (-1)^n=pow(-1,n)=cos(Pi*n) für ganze Zahlen

 

=cos(Pi*n/4)²*cos(Pi*n/2)

per Universal Diagramm pow(cos(PI*x/4),2)*cos(PI*x/2)
siehe Bild 1

Diese periodische Funktion läuft bei allen Vielfachen von 4 durch 1,
was bei ganzen Zahlen viel genauer und schneller per Modulo funktioniert:
(x%4<1)?1:0; 

Man kann Deine Aufgabe n=2 -> nicht Vielfache von 4 -> also 0 dann im Kopf oder mit dieser schnellen Modulofunktion bis n = zig Mrd. leicht berechnen.

Genau diese Zahlenfolge sind auch die Ziffern von 10000/9999 in Variable a.

Alle 4 Algorithmen zeigt der Iterationsrechner im Beispiel 133 online:
http://www.gerdlamprecht.de/Roemisch_JAVA.htm#ZZZZZ0133

explizite Funktion per Universal Diagramm - (Mathe, Mathematik) Iterationsrechner zeigt alle 4 Folgen online - (Mathe, Mathematik)
bishare 26.09.2016, 17:39

Ich glaube, ich brauche den Freitag noch, um diese Antwort ansatzweise zu verstehen xDD Vielen Dank für die Hilfe :) !!

0
hypergerd 27.09.2016, 14:17
@bishare

Interessant ist die Verbesserung der Rechengeschwindigkeit:

während die Berechnungszeit der Doppelsumme von cos-Funktionen (die ja auch nur unendliche Summen sind) enorm ansteigt (etwa x^2.0165 also schon mehrere Sekunden bei i > 9000  )

liegt sie bei der Modulo Funktion im kaum messbaren Millisekundenbereich und steigt nur linear an. (also ist Modulo schon bei 9000 "äußeren Summanden" 1000 mal schneller)

übrigens: (i%4<1)?1:0

ist identisch zu pow(0,i%4) = 0^(i mod 4)

Und noch zur Ausgangsfrage: ja, jede Summe startet immer wieder von vorn analog zu 2 For Schleifen.

0

Hallo,

das erste Summenzeichen bezieht sich auf die höchste Zahl, die im zweiten für k eingesetzt wird.

Du rechnest also die Summen für 0 bis 0, 0 bis 1 und 0 bis 2 des zweiten Summenzeichens zusammen.

Herzliche Grüße,

Willy

bishare 25.09.2016, 20:53

Vielen Dank :)

1

Was möchtest Du wissen?