筑波大学/2000年度
筑波大学 2000年 数学 第7問解答・解説
このページには広告が含まれます。
1問題
自然数 n を与え,関数
を定義するとき,方程式 の近似解を求めるプログラムを考える。ただし,x=c での関数値 の計算には を初項とする漸化式
を用いる。以下の問いに答えよ。
(1) を求めよ。
(2) を求め, を確かめよ。
(3) となる実数 a, が与えられたときに, 閉区間 における方程式 の近似解を 2 分法によって求めるプログラムを書け。ただし, 反復を停止する条件は区間幅が 以下とする。
まずは自分で解いてみましょう。詰まったら「考え方」、解けたら「答え」で確かめられます。
2答え
答えを見る自分の答えと照らし合わせる
- (1)n≧2 のとき 。 のとき指定範囲の漸化式ではP2は未定義。
数式が横に長い場合は、左右にスクロールして確認できます。
- (2)Pk=Σ_{j=0}^k c^(k−j)/(n+1−j) (0≦k≦n)。特に 。
数式が横に長い場合は、左右にスクロールして確認できます。
- (3)
数式が横に長い場合は、左右にスクロールして確認できます。
3解答
解答を見る途中式つきの解答
(1) 漸化式にまず 、次に を代入する。 であり、 なら 。問題の漸化式で許される k は なので、 のとき定まるのは までであり、 は定義されない。
(2) から始め、漸化式を繰り返し使うと 。実際、式が k で成り立つとき、 を掛けて を足すと、同じ和に末尾の定数項が加わり の式になる。よって帰納的に成り立つ。 を代入すると、分母は となるので 。
(3) f は多項式で連続であり、 から の範囲に少なくとも1つ根がある。関数値は与えられた漸化式で順に計算する。Python 3 の2分法は次の通り。各回で符号が異なる側の区間を残し、幅を半分にする。 の場合も根を端点に残したまま幅を指定値まで縮める。 ```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 ``` 停止時には区間幅が 以下であり、中点から区間内の根までの距離はその半分以下、つまり 以下である。
この問題で使う考え方
- 漸化式の反復計算
- 数学的帰納法による一般項の確認
- 2分法(符号変化を保つ区間縮小)
PR
数学を1対1で教わるオンライン塾「数強塾」
数強塾は、中学生・高校生のための数学専門のオンライン個別指導塾です。プロ講師がマンツーマンで教え、大学受験の数学にも対応しています。入塾の前に、今の学習状況と目標を確かめる診断授業(体験・3,000円、税込)を受けられます。
「数強塾」オンライン数学克服塾〈プロ講師〉東大生と1対1で学べるオンライン個別指導「トウコベ」
トウコベは、東大生を中心に難関大学の学生が講師を務める、完全マンツーマンのオンライン個別指導です。はじめに、オンラインの説明会・勉強相談(無料)をWebで予約でき、その後にお試し授業を受けられます。
トウコベ公式サイト似た問題を、ほかの大学で
答えや解説の誤りに気づいたら、お問い合わせから教えてください。
