0 Daumen
396 Aufrufe

In der Biologie und in anderen Bereichen findet man manchmal eine Wachstumsformel mit dem Aussehen:

y(t)= y(t-1)+y(t-2) mit y(0)=1 und y(1)=1

Ich nehme an es handelt sich hierbei um die Rekursive Berechnungsformel für das Lineare Wachstum.

Nun soll ich die Werte von 2 bis 10 berechnen.

Wenn ich nun die Berechnungsformel: y(t)=y(t-1)+a nehme, ergibt sich:

y(0)=1

y(1)=1

y(2)= y(2-1)+....was soll ich jetzt plus nehmen?

a ist doch der Zunahmefaktor und der ist wenn ich y(0) und y(1) betrachte EINS oder?

y(2)=y(2-1)+1=2

y(3)=y(3-1)+1=3

y(4)=y(4-1)+1=4

y(5)=y(5-1)+1.....................

.

.


Avatar von

2 Antworten

0 Daumen
 
Beste Antwort

Ich weiß nicht genau wo dein "a" herkommt, aber um y(2) auszurechnen, musst du eigentlich nur einsetzen:

$$y(2)=y(2-1) + y(2-2) = y(1)+y(0)=1+1 = 2 \ . $$

Und weiter:

$$y(3)=y(3-1) + y(3-2) = y(2) + y(1) = 2 + 1 = 3 \ .$$

Bis hier hin stimmen deine Ergebnisse. Für t=4 jedoch:

$$y(4) = y(4-1) + y(4-2) = y(3) + y(2) = 3 + 2 = 5 \ . $$

Du nimmst an, dass der zweite Summand "y(t-2)" immer gleich 1 ist. Das macht keinen Sinn. Wenn du erklärt, wie du darauf kommst, kann ich dir gern sagen wo dein Fehler liegt.

Avatar von 1,6 k

Ich nehme die Differenz von y(0) und y(1).....Ich will mir einen Wachstumsfaktor a erzeugen, da

ich ab y(4) mit dem Gesetz (habe einen Film angeschaut) nicht mehr weiter komme.


.

Gesetz der Fibonaccischen Zahlen wollte ich noch ergänzen.

Denn laut Lösungshinweis ist von y(2) bis y(10)folgendes zu errechnen:

2,3,5,8,13,21,34,55,89

y(5)= y(5-1)+(5-2)=7 und eben nicht 8 somit dachte ich, dass ab hier ein anderer Wachstumsfaktor her muss.

Jedoch handelt es sich um ein lineares Wachstum.

y(5)=y(5-1)+y(5-2)=y(3)+y(4)=3+5=8

y(6)=y(6-1)+y(6-2)=y(4)+y(5)=5+8=13

y(7)=y(7-1)+y(7-2)=y(5)+y(6)=8+13=21

y(8)=y(8-1)+y(8-2)=y(6)+y(7)=13+21=34

y(9)=y(9-1)+y(9-2)=y(7)+y(8)=21+34=55

y(10)=y(10-1)+y(10-2)=y(8)+y(9)=34+55=89


.

0 Daumen

Besser, wenn Du Dich bei Arrays (Feldvariablen) wie bei fast allen Programmiersprachen  schon mal an eckige Klammern gewöhnst, da man es dann nicht mit Multiplikation eines normalen Klammerausdrucks verwechselt:

y[t] := y[t-1] + y[t-2]

in Worten: Feldvariable y[ ] mit Index t ergibt sich aus Vorgänger (mit Index [t-1] ) + Restfunktion

Restfunktion y[t-2] ist aber eine von t abhängige Funktion (Vor-Vorgänger) und keine konstante Zahl a!

y[5] = y[5-1] + y[5-2] = y[4] + y[3] = 5 + 3 = 8

denn y[3] = y[2] + y[1] = 2 + 1

und das ist kein lineares Wachstum, wie man an der expliziten Formel sehen kann:

Iterationsrechner http://www.gerdlamprecht.de/Roemisch_JAVA.htm#ZZZZZ0008 Beispiel 8 leicht angepasst

zeigt alle 3 Algorithmen:

Bild Mathematik

aC[i] ist Dein y[t] -> rekursive Form aus 2 Vorgängern

aB[i] ist rekursiv, jedoch aus nur 1 Vorgänger berechnet

aC[i] ist rein explizit, d.h. man kann beliebige reelle & komplexe Zahlen einsetzen (ohne Vorgänger)

(vergl. http://www.lamprechts.de/gerd/php/RechnerMitUmkehrfunktion.php Fibonacci(x) )

Hinweis: Wissenschaftler haben Fibonacci(0) =0 definiert

d.h. bei Index 1 und 2 gibt's das Ergebnis 1 -> also gegenüber Deiner Aufgabenstellung nur eine Offset-X um 1 verschobene Funktion:

Fibonacci(x) = y[x-1] weil nur die beiden Startwerte anders:

Fibonacci(1)=y[0]=1

Fibonacci(2)=y[1] =1

Andere Startwerte (wie 1 und 3) ist bekannt als Lucas-Funktion.

Avatar von 5,7 k

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community