開発環境
- macOS High Sierra - Apple
- Emacs (Text Editor)
- Python 3.6 (プログラミング言語)
Pythonからはじめる数学入門 (Amit Saha (著)、黒川 利明 (翻訳)、オライリージャパン)の7章(初等解析問題を解く)、7.10(プログラミングチャレンジ)、問題7-3(2曲線で囲まれた領域の面積)を取り組んでみる。
コード(Emacs)
Python 3
#!/usr/bin/env python3
from sympy import symbols, sympify, SympifyError, Integral, plot
x = symbols('x')
colors = ['red', 'green']
def area(f, g, a, b):
I = Integral(f - g, (x, a, b))
return I.doit()
if __name__ == '__main__':
f = input('Enter a function in one variable(x): ')
g = input('Enter a function in one variable(x): ')
a = float(input('a: '))
b = float(input('b: '))
try:
f = sympify(f)
g = sympify(g)
except SympifyError as err:
print(f'Invalid function entered: {err}')
else:
print(f'area: {area(f, g, a, b)}')
p = plot(f, g, (x, a - 1, b + 1), legend=True, show=False)
for i, color in enumerate(colors):
p[i].line_color = color
p.save('sample3.svg')
入出力結果(Terminal, Jupyter(IPython))
$ ./sample3.py Enter a function in one variable(x): x Enter a function in one variable(x): 0 a: 0 b: 1 area: 0.500000000000000 $ ./sample3.py Enter a function in one variable(x): x Enter a function in one variable(x): x ** 2 a: 0 b: 1 area: 0.166666666666667 $
0 コメント:
コメントを投稿