\

Pythonは漸化式の計算に非常に便利な言語です。以下に、いくつかの基本的な漸化式の例を示します。

単純な漸化式

次のように定義される数列{a_n}の一般項を求めます。

$$a_1=1,\u3000\u3000\u3000\u3000a_{n+1}=a_n+4$$

漸化式を解くと一般項は次の通りです。

$$a_n=4n-3$$

これをPythonの再帰関数と一般項の式を使って、n=1から5まで計算し比較します。

def recurrence(n):
    if n ==1:
        return 1
    else:
        return recurrence(n-1)+4

for i in range(1,6):
    print(i,recurrence(i),4*i-3)

少し複雑な漸化式

次のように定義される数列{a_n}の一般項を求めます。

$$a_1=3,\hspace{5pt}a_{n+1}=3a_n+2n+3$$

$$a_n=2\cdot3^n-n-2$$

def recurrence(n):
    if n ==1:
        return 3
    else:
        return 3*recurrence(n-1)+2*(n-1)+3

for i in range(1,6):
    print(i,recurrence(i),2*3**(i)-i-2)

3項間漸化式

次のように定義される数列{a_n}の一般項を求めます。

$$a_1=1,a_2=2\hspace{5pt}a_{n+2}=2a_{n+1}+15a_n$$

$$a_n=\displaystyle \frac{5^n-(-3)^n}{8}$$

from fractions import Fraction

def recurrence(n):
    if n ==1:
        return 1
    if n==2:
        return 2
    else:
        return 2*recurrence(n-1)+15*recurrence(n-2)

for i in range(1,6):
    print(i,recurrence(i),Fraction(5**i-(-3)**i,8))

これらの例からわかるように、Pythonは漸化式の計算に非常に便利な言語です。再帰関数を使うことで、様々な漸化式を簡単に計算することができます。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です