Wie lautet die rekursive Form der folgenden Zahlenfolge?

6 Antworten

a ᵢ ₊₁  = ‒  (aᵢ / |aᵢ|) ∙ (|aᵢ| + 1) = ‒ aᵢ ∙ (1 + 1/|aᵢ|)


wunderknete98 
Beitragsersteller
 08.09.2015, 16:56

Ok, super. Dankeschön! :)

Hmm, Rechenweg ist immer schwierig, aber ich würde als Rekursion konstruieren:

a_0 = 1
a_i+1 = -sign(a_i) * (|a_i| + 1)

Woher ich das weiß:Studium / Ausbildung – Mathematik

Enders9  09.09.2015, 07:57

Statt "-sign(a_i)" kann man auch "(-1)^(|a_i|)" nehmen.

Suboptimierer  09.09.2015, 08:03
@Enders9

Richtig, aber die Frage, ob es effektiver hinsichtlich der Komplexität (Rechenleistung) ist, stelle ich mal in den Raum. Man könnte als weitere Alternative statt (-1)^(|a_i|) auch (-1)^(i+1) nehmen. Ich denke aber, die Signumfunktion führt da direkter zum Ziel.

a[n]=(-1)^n * n = pow(-1,n)*n

a[n+1]=pow(-1,n+1)*(n+1) Nachfolger

Quotient: pow(-1,n+1)*(n+1)/[pow(-1,n)*n]=(-1-n)/n

a[n+1]=a[n]*(-1-n)/n 

Nicht immer ist der Quotient einfach! Manchmal auch andere Funktionen (Differenz usw.)

Es gibt mindestens 4 Vorzeichenwechsel-Funktionen für Index n=ganzzahlig:

pow(-1,n)=cos(PI*n)=1-2*n+4*floor(n/2)=1 - n % 2 * 2

 mit n%2 = n modulo 2 = n-2*floor(n/2) mit floor=Abrunden

wobei die Modulo Funktion rechentechnisch die schnellste ist (besonders bei großen n).

Beim online Iterationsrechner ist Index nicht n sondern i und a[n] ist aB[i]:

http://www.gerdlamprecht.de/Roemisch_JAVA.htm##@NaC=Array(0,-1);aD[0]=0;aD[1]=-1;@N@Bi]=(1-i%252*2)*i;@Ci+2]=-@Ci+1]*2-@Ci];aD[i+2]=(@AaD[i+1])+1)*sgn(-aD[i+1]);@Ni%3E9@N0@N0@N@P-1,i)=cos(PI*i)

siehe Bild

Besonderheit bei aC und aD: zum Start 2 Vorgänger nötig:

aC: weil Definition 2 Vorgänger velangt

aD: weil sgn(0)=0 alle anderen Argumente liefern Vorzeichen +1 oder -1

 - (Mathematik, Zahlenfolgen, Rekursiv)

hypergerd  09.09.2015, 09:35

Besonderheit bei Verwendung von

aD[i+1]=aD[i]*(-1-i)/i; darf Index i erst bei 1 beginnen, da 

1/0 = undefinierte Polstelle

Start: aD[0]=0;aD[1]=-1;

Iteration: if(i>0)aD[i+1]=aD[i]*(-1-i)/i;  

(statt aD auch alles mit aB möglich)

Ich würds direkt ablesen:

sei f(n) gegeben.
wie kommst du zum nächsten?

+1 rechnen und beim ergebnis ein - davor bzw. mi (-1) multiplizieren.

also wenn du bspw f(n)=1 hast,
dann ist f(n+1)=(-1)*(f(n)+1)=-2

Und noch eine Variante, ohne Betrag und Sonderfunktionen wie Signum, dafür aber Rekursion mit zwei Vorgängern.

a(n+2) := - 2 * a(n+1) - a(n) und natürlich a(1) = 1, a(2) = -2.