2017-03-28 5 views
0
x1=18;x2 = 10 

f1_0=(40)*x1*(100000-x1-x2)-x1;k1_0=f1_0+x1;k1_0.n() 

f2_0=(1/3)*x1;k2_0=f2_0+x2;k2_0.n() 

###################################################### 

x1=k1_0.n();x2=k2_0.n() 

f1_1=(40)*x1*(100000-x1-x2)-x1;k1_1=f1_1+x1;k1_1.n() 

f2_1=(1/3)*x1;k2_1=f2_1+x2;k2_1.n() 

###################################################### 

x1=k1_1.n();x2=k2_1.n() 

f1_2=(40)*x1*(100000-x1-x2)-x1;k1_2=f1_2+x1;k1_2.n() 

f2_2=(1/3)*x1;k2_2=f2_2+x2;k2_2.n() 

So, wie Sie sehen, dass ich die Anfangswerte für x1 und x2 dann haben pluged es in den Funktionen f1 und f2, dann rief ich eine neue Variable k1 die nur f1+x1 ist und Ich habe das gleiche für f2 gemacht. Dann werden meine resultierenden k1 und k2 die neuen Werte für x1 und x2, und so weiter. Ich möchte das mehrere Male tun, aber ich fühle mich ein bisschen dumm, keine For-Schleife zu haben, die für N Nummer der Iteration tut. Ich versuche das in Sage zu tun. Ich suchte nach einer Kodierung in Sage, die Newtons Methode benutzt. Aber ich sehe, dass alle sie eine einzige Variable in ihrer Programmierung verwenden. Würde mich jemand dazu bringen, mit dem Code für dieses Problem anzufangen.Sage Implementierung für diskrete Zeit dynamisches System

+0

Was ist '- * x1'? Sie können nicht gleichzeitig subtrahieren und multiplizieren. – kcrisman

Antwort

0

Im Prinzip können Sie nur Dinge umbenennen. Hier habe ich -*x1 durch -x1 ersetzt, obwohl ich nicht denke, dass dies richtig ist, basierend auf den Zahlen, die ich bekomme.

x1=18;x2 = 10 
for i in range(10): 
    f1=(40)*x1*(100000-x1-x2)-x1 
    k1=f1+x1 
    f2=(1/3)*x1 
    k2=f2+x2 
    print k1, k2 
    x1=k1.n() 
    x2=k2.n() 
+0

Vielen Dank! Es hat funktioniert! –

+0

Gute Neuigkeiten! Wenn dies deine Frage beantwortet hat, dann klicke auf das Häkchen, damit andere wissen, dass es gelöst wurde - und erhalte ein Python-Tutorial für dich selbst, das wird sich für dich wirklich auszahlen, denke ich! – kcrisman

+0

Ich habe das getan. Würdest du irgendeine Idee haben, wie würde ich alle meine x1 in einer Liste haben, so dass ich in der Lage wäre, sie und das gleiche für x2's zu plotten. –

Verwandte Themen