Ich versuche, Code zu schreiben, um numerische Antworten auf eine Wiederholungsrelation zu geben. Die Beziehung selbst ist einfach und wie folgt definiert. Die Variable x ist eine ganze ZahlWie löst man Wiederholungsrelationen in Python
- p (i) = p (i + 2)/2 + p (i-1)/2, wenn i> 0 und i < x
- p (0) = p (2)/2
- p (i) = 1 wenn i> = x
Dies ist auch in diesem Code.
from __future__ import division
def p(i):
if (i == 0):
return p(2)/2
if (i >= x):
return 1
return p(i-1)/2+p(i+2)/2
x = 4
#We would like to print p(0) for example.
Dies ermöglicht natürlich nicht die Berechnung von p (0). Wie kannst du das in Python machen?
Ist es möglich, ein System simultaner Gleichungen aufzustellen, die numpy.linalg.solve
dann lösen kann?
Wo soll 'x' definiert werden? –
@ Two-BitAlchemist Es ist im Code festgelegt. Ich habe es als Beispiel auf 4 gesetzt. Klar, wenn x einen anderen Wert hat, so wird p (0). – felix
Ich bin verwirrt. 'p (0)' ist 'p (2)/2', und Sie haben es so eingestellt. Ihr Code sieht so aus, als sollte er funktionieren, obwohl Sie 'x' innerhalb Ihrer Funktion definieren sollten. –