Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
--- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
---- Berechenbarkeits- und Komplexitätstheorie (http://www.informatikerboard.de/board/board.php?boardid=15)
----- berechnen alpha gemäß der Reihenentwicklung (http://www.informatikerboard.de/board/thread.php?threadid=2524)


Geschrieben von Abed am 31.10.2015 um 19:42:

 

s



Geschrieben von eulerscheZahl am 31.10.2015 um 20:38:

 

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
public static void main(String[] args) {
	double z = 0.577350269189626; //alpha = 30°
	double sum = 0;
	for (int n = 0; n < 100; n++) {
		double prod = 1;
		int k = 1;
		while (k <= n) {
			prod *= 2*k*z*z/((2*k+1)*(1+z*z));
			k++;
		}
		sum += prod;
	}
	double alpha = z/(1+z*z) * sum;
	System.out.println(alpha * 180/Math.PI);
}



Geschrieben von Abed am 01.11.2015 um 15:31:

 

Danke sehr das hat gekappt ,
aber ich hab noch eine Aufgabe die ich auch nicht verstehe , kannst du mir bitte helfen



Geschrieben von eulerscheZahl am 01.11.2015 um 17:16:

 

Schnapp' dir Stift und Papier und spiele es für eine kleine Grenze (z.B. n < 4) von Hand durch. Was fällt dir auf?



Geschrieben von Abed am 01.11.2015 um 18:26:

 

wie meinst du mit durchspielen? ich hab dich nicht gut kapiert



Geschrieben von eulerscheZahl am 01.11.2015 um 18:33:

 

[latex]\cos(\alpha) = \frac{z}{1+z^2} \cdot \left(\underbrace{1}_{n=0} + \underbrace{\frac{2\cdot1\cdot z^2}{(2\cdot1+1)\cdot(1+z^2)}}_{n=1} + \underbrace{\frac{2\cdot1\cdot z^2}{(2\cdot1+1)\cdot(1+z^2)}\cdot\frac{2\cdot2\cdot z^2}{(2\cdot2+1)\cdot(1+z^2)}}_{n=2} + \dots\right)[/latex]
Fällt dir was auf? Kommen Teile mehrfach vor?



Geschrieben von Abed am 01.11.2015 um 18:49:

 

jaaaaaaaa
und..



Geschrieben von eulerscheZahl am 01.11.2015 um 18:50:

 

Und jetzt sollst du die Erkenntnis verwenden, um das Programm zu vereinfachen.



Geschrieben von Abed am 01.11.2015 um 18:52:

 

ja aber wie kann ich verwenden unglücklich
zeig mir erstmal bitte smile



Geschrieben von eulerscheZahl am 01.11.2015 um 18:55:

 

Nach Aufgabe 8 sieht mir das aus wie eine benotete Aufgabe, eine Komplettlösung würde das untergraben.

Was musst du tun, um vom Summanden für n=2 auf den für n=3 zu kommen? Wie sieht es allgemein von (k-1) zu k aus?



Geschrieben von Abed am 01.11.2015 um 19:51:

 

so?



Geschrieben von eulerscheZahl am 01.11.2015 um 19:58:

 

Nennen wir die Summanden [latex]s(n)[/latex].
Rekursiv lässt sich berechnen: [latex]s(n) = s(n-1) \cdot ?[/latex]
Was kommt an die Stelle des '?'



Geschrieben von Abed am 01.11.2015 um 20:12:

 

verstehe ich nicht unglücklich



Geschrieben von eulerscheZahl am 01.11.2015 um 20:23:

 

Für jeden Summanden kommt nur eine Faktor dazu, der Rest bleibt gleich.
Diesen Rest musst du also nicht jedes Mal neu berechnen, sondern kannst das vorherige Ergebnis nehmen. Jetzt DU.



Geschrieben von Abed am 02.11.2015 um 12:01:

 

w


Forensoftware: Burning Board, entwickelt von WoltLab GmbH