Die letzten 3 Beiträge |
Tobias |
Die Lösung steht da doch schon. Du musst sie nur noch abschreiben:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
|
a = 2
b = 1
c = 2
Wiederhole n mal:
tmp_a = 6*a + 2*c + b
b = a
c = 3*a + c
a = tmp_a
Gib b zurück.
|
|
Die Idee dazu ist folgende:
Zuerst einmal setzen wir die Rekursionsvorschriften in f(n) ein:
Wenn wir also f(n-2), f(n-1) und h(n-1) kennen würden, könnten wir f(n) ganz einfach mit obiger Formel berechnen. Die Formel nennen wir mal .
Der Trick ist nun, die Rekursion durch sukkzessivem Berechnen von f(2), f(3), ... aufzulösen:
|
ed209 |
Mit deiner Lösung kann ich momentan überhaupt nichts anfangen, mir ist die SChreibweise völlig unbekannt.
Ich würde Dir vorschlagen erstmal aufzuschreiben, wie du vorgehen würdest, wenn du die nächsten 3 f(n) per Hand ausrechnen würdest und dann mal guckst, ob Du ein System entdeckst.
Gruß,
ED |
flawZ |
Rekursion zu Iteration umwandeln
Hallo allerseits!
Und zwar habe ich große Probleme bei Aufgaben des folgenden Typs:
Seien f, g Funktionen von N --> N mit
f(0) = 1; f(1) = 2; h(1) = 2;
f(n + 1) = 2 * h(n + 1) + f(n - 1);
h(n + 1) = h(n) + 3 * f(n)
Nun soll das iterative Verfahren iter zur Berechnung von f(n) aufstellen.
Als Lösung muss folgendes herauskommen:
Setze a = f(n - 1); b = f(n - 2); c = h(n - 1);
Beginne mit f(n) = iter(n,2,1,2).
iter(n,a,b,c) = iter(n - 1, 6a + 2c + b, a, 3a + c);
iter(0,a,b,c) = b
Nun stehe ich hier total auf dem Schlauch, weiß nicht, warum und wie
ich was wähle, wie ich hier überhaupt vorgehe.
Es wäre echt prima, wenn mir jemand wenigstens den Ansatz bei der
Vorgehensweise bei solchen Aufgaben nennen könnte, denn ich
komm hier echt nicht weiter..
Vielen Dank schonmal! |
|
|