2016-09-02 22 views
3

私はsympyを使ってフィボナッチ系列の漸化関係を解こうとしていました。私はテキストブックのそれとは異なる答えを得た。私はそれが間違っているか分からない。sympyを使って再帰を解く

マイsympyコード

from sympy import * 
f=Function('f') 
var('y') 
var('n',integer=True) 
f=y(n)-y(n-1)+(n-2) 
rsolve(f,y(n)) 

、出力が

C0 +(-n + 1)*(nは/ 2から1)

+1

出力は、あなたが提供する漸化式 'F'(' = 0 ')のために正しいです。これが正しい形式の 'f'であると確信していますか?私はフィボナッチシリーズの反復関係は 'f = y(n)-y(n-1)-y(n-2)'( '= 0')だと信じています – Stelios

+1

@Steliosの言及に加えて、条件。典型的にフィボナッチのために2つ与えられる。 –

+0

@Stelios初期条件の指定方法は? – user567879

答えて

5

ここでの完全なコードがありますフィボナッチ再帰を解く。 Functionsymbolsを正しく使用してください。

from sympy import * 
y = Function('y') 
n = symbols('n',integer=True) 
f = y(n)-y(n-1)-y(n-2) 
rsolve(f,y(n),{y(0):0, y(1):1}) 

sqrt(5)*(1/2 + sqrt(5)/2)**n/5 - sqrt(5)*(-sqrt(5)/2 + 1/2)**n/5

+0

テキストはhttp://imgur.com/a/YUi1tとして答えを出しました。また、fabanocciのy(0)は1です(私はそのように与えました)。 – user567879

関連する問題