学習環境
解析入門(上)
(松坂和夫
数学入門シリーズ 4) (松坂
和夫(著)、岩波書店)の第6章(関数の近似、テイラーの定理)、6.1(テイラーの定理)、問題3の解答を求めてみる。
[a,b]
f(a)<0,f(b)>0f'
よって、 問題の斬化式によって定義される数では、関数 f の
よって数列は強い意味で単調減少して、収束する。また、 c に収束するとすれば
コード
Python 3
#!/usr/bin/env python3
from sympy import pprint, symbols, Derivative, solve, plot, sqrt
print('4.')
x = symbols('x')
f = x ** 2 - 2
f1 = Derivative(f, x, 1).doit()
b1 = 3
def b(n):
if n == 1:
return b1
t = b(n - 1)
return t - f.subs({x: t}) / f1.subs({x: t})
bs = [b(n0) for n0 in range(1, 11)]
for i, b0 in enumerate(bs, 1):
print(f'{i}: {float(b0)}')
print(float(sqrt(2)))
fs = [f1.subs({x: b0}) * (x - b0) + f.subs({x: b0}) for b0 in bs[:3]]
p = plot(f, *fs,
(x, 1, 3),
ylim=(-1, 7),
show=False,
legend=False)
colors = ['red', 'green', 'blue', 'brown', 'orange',
'purple', 'pink', 'gray', 'skyblue', 'yellow']
for o, color in zip(p, colors):
o.line_color = color
p.show()
p.save('sample4.png')
入出力結果(Zsh、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))
% ./sample4.py
4.
1: 3.0
2: 1.8333333333333333
3: 1.4621212121212122
4: 1.4149984298948028
5: 1.4142137800471977
6: 1.4142135623731118
7: 1.4142135623730951
8: 1.4142135623730951
9: 1.4142135623730951
10: 1.4142135623730951
1.4142135623730951
%
0 コメント:
コメントを投稿