本文へ進む
メニュー
医学部数学 過去問DB問題を探す

筑波大学/2000年度

筑波大学 2000年 数学 第7問解答・解説

このページには広告が含まれます。

1問題

筑波大学2000年度第7問

自然数 n を与え,関数

f(x)=xnn+1+xn−1n+⋯+x2+1\displaystyle f (x) = \frac {x ^ {n}}{n + 1} + \frac {x ^ {n - 1}}{n} + \dots + \frac {x}{2} + 1

を定義するとき,方程式 f(x)=0f(x)=0 の近似解を求めるプログラムを考える。ただし,x=c での関数値 f(c)f(c) の計算には P0=1n+1\displaystyle P_{0}=\frac{1}{n+1} を初項とする漸化式

Pk+1=cPk+1n−k,k=0,1,…,n−1\displaystyle P _ {k + 1} = c P _ {k} + \frac {1}{n - k}, \quad k = 0, 1, \dots , n - 1

を用いる。以下の問いに答えよ。

(1) P2P_{2} を求めよ。

(2) PkP_{k} を求め, Pn=f(c)P_{n}=f(c) を確かめよ。

(3) f(a)f(b)<0f(a)f(b)<0 となる実数 a, b(a<b)b(a<b) が与えられたときに, 閉区間 [a,b][a,b] における方程式 f(x)=0f(x)=0 の近似解を 2 分法によって求めるプログラムを書け。ただし, 反復を停止する条件は区間幅が 10−410^{-4} 以下とする。

まずは自分で解いてみましょう。詰まったら「考え方」、解けたら「答え」で確かめられます。

2答え

答えを見る自分の答えと照らし合わせる
  • (1)
    n≧2 のとき P2=c2/(n+1)+c/n+1/(n−1)P2=c^2/(n+1)+c/n+1/(n−1)。n=1n=1 のとき指定範囲の漸化式ではP2は未定義。
  • (2)
    Pk=Σ_{j=0}^k c^(k−j)/(n+1−j) (0≦k≦n)。特に Pn=f(c)Pn=f(c)。
  • (3)
    deff(x,n):p=1.0/(n+1)forkinrange(n):p=x∗p+1.0/(n−k)returnpdefbisection(n,a,b):fa,fb=f(a,n),f(b,n)ifnot(a<bandfa∗fb<0):raiseValueError("a<bandf(a)∗f(b)<0arerequired")whileb−a>1.0e−4:m=(a+b)/2.0fm=f(m,n)iffm==0orfa∗fm<0:b=melse:a,fa=m,fmreturn(a+b)/2.0def f(x, n): p = 1.0 / (n + 1) for k in range(n): p = x * p + 1.0 / (n - k) return p def bisection(n, a, b): fa, fb = f(a, n), f(b, n) if not (a < b and fa * fb < 0): raise ValueError("a < b and f(a) * f(b) < 0 are required") while b - a > 1.0e-4: m = (a + b) / 2.0 fm = f(m, n) if fm == 0 or fa * fm < 0: b = m else: a, fa = m, fm return (a + b) / 2.0

3解答

解答を見る途中式つきの解答

(1) 漸化式にまず k=0k=0、次に k=1k=1 を代入する。 P1=cP0+1n=cn+1+1n\displaystyle P_1=cP_0+\frac1n=\frac{c}{n+1}+\frac1n であり、n≧2n\ge2 なら P2=cP1+1n−1=c2n+1+cn+1n−1\displaystyle P_2=cP_1+\frac1{n-1}=\frac{c^2}{n+1}+\frac cn+\frac1{n-1}。問題の漸化式で許される k は 0,…,n−10,\ldots,n-1 なので、n=1n=1 のとき定まるのは P1P_1 までであり、P2P_2 は定義されない。

(2) P0=1n+1\displaystyle P_0=\frac1{n+1} から始め、漸化式を繰り返し使うと Pk=∑j=0kck−jn+1−j(0≦k≦n)\displaystyle P_k=\sum\limits _{j=0}^k\frac{c^{k-j}}{n+1-j}\quad(0\le k\le n)。実際、式が k で成り立つとき、cc を掛けて 1n−k\displaystyle \frac1{n-k} を足すと、同じ和に末尾の定数項が加わり k+1k+1 の式になる。よって帰納的に成り立つ。k=nk=n を代入すると、分母は n+1,n,…,1n+1,n,\ldots,1 となるので Pn=cnn+1+cn−1n+⋯+c2+1=f(c)\displaystyle P_n=\frac{c^n}{n+1}+\frac{c^{n-1}}n+\cdots+\frac c2+1=f(c)。

(3) f は多項式で連続であり、f(a)f(b)<0f(a)f(b)<0 から a≦x≦ba\le x\le b の範囲に少なくとも1つ根がある。関数値は与えられた漸化式で順に計算する。Python 3 の2分法は次の通り。各回で符号が異なる側の区間を残し、幅を半分にする。fm=0f_m=0 の場合も根を端点に残したまま幅を指定値まで縮める。 ```python def f(x, n): p = 1.0 / (n + 1) for k in range(n): p = x * p + 1.0 / (n - k) return p

def bisection(n, a, b): fa, fb = f(a, n), f(b, n) if not (a < b and fa * fb < 0): raise ValueError("a < b and f(a) * f(b) < 0 are required") while b - a > 1.0e-4: m = (a + b) / 2.0 fm = f(m, n) if fm == 0 or fa * fm < 0: b = m else: a, fa = m, fm return (a + b) / 2.0 ``` 停止時には区間幅が 10−410^{-4} 以下であり、中点から区間内の根までの距離はその半分以下、つまり 5×10−55\times10^{-5} 以下である。

この問題で使う考え方

  • 漸化式の反復計算
  • 数学的帰納法による一般項の確認
  • 2分法(符号変化を保つ区間縮小)

PR

数学を1対1で教わるオンライン塾「数強塾」

数強塾は、中学生・高校生のための数学専門のオンライン個別指導塾です。プロ講師がマンツーマンで教え、大学受験の数学にも対応しています。入塾の前に、今の学習状況と目標を確かめる診断授業(体験・3,000円、税込)を受けられます。

「数強塾」オンライン数学克服塾〈プロ講師〉

東大生と1対1で学べるオンライン個別指導「トウコベ」

トウコベは、東大生を中心に難関大学の学生が講師を務める、完全マンツーマンのオンライン個別指導です。はじめに、オンラインの説明会・勉強相談(無料)をWebで予約でき、その後にお試し授業を受けられます。

トウコベ公式サイト

似た問題を、ほかの大学で

答えや解説の誤りに気づいたら、お問い合わせから教えてください。