2017-03-28 13 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() 

그래서, 그때 그때 난 그냥 f1+x1하고있는 새로운 변수 k1라고 불리는 기능 f1f2 그것을 pluged f2에 대해서도 동일한 작업을 수행했습니다. 그런 다음 결과가 k1이고 k2x1x2의 새 값이되는 식으로 계속됩니다. 나는 그걸 여러 번하고 싶지만, for 루프를 가지고 있지 않다는 것을 약간 바보라고 느낀다. 반복 횟수는 N이다. 저는 현자에서 그렇게하려고합니다. 나는 Sage에서 Newton의 방법을 사용하여 코딩을 찾아 보았다. 그러나 나는 그들 모두가 그들의 프로그래밍에서 하나의 변수를 사용하고있는 것을 보았습니다. 누군가이 문제에 대한 코드를 시작하게 할 수 있습니까?세이지 구현

+0

'- * x1'은 무엇인가요? 동시에 빼거나 곱할 수는 없습니다. – kcrisman

답변

0

원칙적으로 사물의 이름을 변경하면됩니다. 여기 나는 을 -x1으로 바꿨지만, 나는 이것이 내가 얻고있는 숫자에 기초했다고 생각하지는 않는다.

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

정말 고마워요! 그것은 일했다! –

+0

좋은 소식! 이 질문에 대한 답변을 한 경우 다른 사람들이 해결 방법을 알 수 있도록 확인 표시를 클릭해야합니다. 그리고 실제로 파이썬 튜토리얼을 받아 보시면 정말 도움이됩니다. – kcrisman

+0

나는 그것을했다. 내 x1을 어떻게 목록에 포함 시켜서 x2에 대해 동일한 내용을 그릴 수 있는지 생각 해보시겠습니까? –