Matematik

Hvad er rekursionsformlen?

20. februar 2022 af Planteelsker - Niveau: A-niveau

Hvad er rekursionsformlen? 

Og hvordan kan jeg løse opg. 1d, som er vedhæftet?


Brugbart svar (0)

Svar #1
20. februar 2022 af peter lind


Brugbart svar (0)

Svar #2
20. februar 2022 af peter lind

Der gælder

yn = 3000(1+0,04)n

Løs denne ligning med hensyn til n


Svar #3
20. februar 2022 af Planteelsker

Så rekursionsformlen er yn = y0*(1+a)n ?


Svar #4
20. februar 2022 af Planteelsker

Jeg får det til 13,02. Men eftersom n betegner antallet af terminer går jeg ud fra, at det skal være et helt tal. Skal jeg runde op til 14 så?


Brugbart svar (0)

Svar #5
20. februar 2022 af Eksperimentalfysikeren

#4: Ja, y13 er for lille.

#3: Nej,rekursionsformlen er yn+1= yn+ 0,04·yn.

En rekursiv definition af en række består af en startværdi, her y0, og en rekursionsformel af formen yn+1 = f(yn).

yn = y0*(1+a)n er den direkte formel, hvor man ikke behøver at beskæftige sig med andre led.


Svar #6
20. februar 2022 af Planteelsker

Okay, mange tak!


Brugbart svar (0)

Svar #7
20. februar 2022 af peter lind

se evt. formel 97 side 19 i din formelsamling


Brugbart svar (0)

Svar #8
20. februar 2022 af peter lind

En rekursionsformel er efter min ordbog en funktion der kalder sig selv. Det her er en differensligning

se evt.eller den tilsvarende engelske http://file:///C:/Users/ole/Downloads/Formelsamling-Matematik-A---stx


Brugbart svar (0)

Svar #9
20. februar 2022 af peter lind

Undskyld. Den i #8 nævnte fil var forkert. Det var en fil jeg tidligere hentede den rigtige en https://en.wikipedia.org/wiki/Recursion  eller https://en.wikipedia.org/wiki/Recursion   


Brugbart svar (0)

Svar #10
21. februar 2022 af Eksperimentalfysikeren

Den viste formel er netop det rekursive kald af funktionen: f(n+1) = f(n) + 0,04f(n).

Et andet eksempel: F(n) = F(n-1) + F(n-2) og F(0) = F(1) = 1 giver Fiboccitallene. OBS Brug ikke denne rekursion direkte i et program, med mindre, du vil se, hvorfor. (Brug ikke for store værdier af n!)


Brugbart svar (0)

Svar #11
21. februar 2022 af peter lind

,Du kalder jo ikke nogen af dem med sig selv. Du kalder dem med funktioner af parametrene henholdsvis n+1, n. n, n-1, n-2.

Det er alle differensligninger


Svar #12
21. februar 2022 af Planteelsker

Okay, mange tak!


Brugbart svar (0)

Svar #13
21. februar 2022 af Eksperimentalfysikeren

#11 Hvor er differensen? Højresiden af funktionerne i #10 er forskrifterne og funktionerne kaldes i forskriftrne, derfor er der tale om rekursion.

Kodeeksempel på rekursion benyttet til at finde Fibonaccital:

int f(int n){

if(n<=1) return 1;

return f(n-1) + f(n-2);

}

Det er en rekursiv funktion skrevet i c. Den har den svaghed, at køretiden stiger eksponentielt med n.

Rekursion er meget omdiskuteret i forbindelse med softwareudvikling. Nogle mener, det burde forbydes, mens andre bruger det til tilfælde, hvor det er det nemmeste at arbejde med. Min egen mening er, at der er nogle tilfælde, hvor rekursive funktioner letter læsningen af et program, og så bruger jeg det, hvis ikke, der er risiko for forringelse af programmet.

Fibonacchitallene beregnes bedre med:

int f(int n){

int a=1;  int b=1; int c;

if(n<=2) return 1;

for (i=1;i<n i++){

c = a+b;

a = b; b=c;

}

return b;

}

Mere kluntet kode, men dens køretid er proportional med n.


Brugbart svar (0)

Svar #14
22. februar 2022 af peter lind

Hvad mener du med "hvor er differensen" ?

I det første tilfælde er det formuleret som et rekursiv funktion; men det behøver man ikke at gøre. I det oprindelige problem er det ikke en rekursiv problem. Funktionen er en funktion af heltal, og funktionen kalder ikke sig selv.

i det andet tilfælde er det blot en funktion af heltal og er altså ikke en rekursiv funktion. Funktionen kan også her omformes, til en rekursiv funktion, Men det gør ikke funktionen til en rekursiv funktion


Skriv et svar til: Hvad er rekursionsformlen?

Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk? Klik her for at oprette en bruger.