Python では sympy を使う
WolframAlpha の「高等学校 数学」の例題を解いてみる
https://ja.wolframalpha.com/examples/mathematics/koukousugaku/math-iii/
WolframAlpha の「高等学校 数学」の例題を解いてみる
https://ja.wolframalpha.com/examples/mathematics/koukousugaku/math-iii/
問題 1 不定積分 ∫(1/(x(log x)^2))dx
>>> from sympy import *
>>> var('a:z')
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z)
>>> var('a:z')
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z)
>>> integrate(1/(x*log(x)**2))
-1/log(x)
問題 2 定積分 ∫(0からlog3まで) dx/(e^x+5e^(-x)-2)
>>> a = 1/(exp(x) + 5*exp(-x) - 2)
>>> b1 = integrate(a)
>>> b1
RootSum(16*_z**2 + 1, Lambda(_i, _i*log(8*_i + exp(x) - 1)))
>>> simplify(b1)
-I*log(exp(x) - 1 - 2*I)/4 + I*log(exp(x) - 1 + 2*I)/4
>>> integrate(a, (x, 0, log(3)))
RootSum(16*_z**2 + 1, Lambda(_i, _i*log(2/15 - 8*_i/5))) - RootSum(16*_z**2 + 1, Lambda(_i, _i*log(4/5 - 8*_i/5)))
>>> integrate(a, (x, 0, log(3))).evalf()
0.392699081698724
>>> (b1.subs(x, log(3)) - b1.subs(x, 0)).evalf()
0.392699081698724
>>> b1 = integrate(a)
>>> b1
RootSum(16*_z**2 + 1, Lambda(_i, _i*log(8*_i + exp(x) - 1)))
>>> simplify(b1)
-I*log(exp(x) - 1 - 2*I)/4 + I*log(exp(x) - 1 + 2*I)/4
>>> integrate(a, (x, 0, log(3)))
RootSum(16*_z**2 + 1, Lambda(_i, _i*log(2/15 - 8*_i/5))) - RootSum(16*_z**2 + 1, Lambda(_i, _i*log(4/5 - 8*_i/5)))
>>> integrate(a, (x, 0, log(3))).evalf()
0.392699081698724
>>> (b1.subs(x, log(3)) - b1.subs(x, 0)).evalf()
0.392699081698724
sympy では得られないが,integrate(a) の別の形
>>> b2 = -atan((1-exp(x))/2)/2
>>> # radsimp(diff(b2)) = radsimp(a) ゆえ,integrate(diff(b2)) = b2 = integrate(a)
>>> radsimp(diff(b2))
exp(x)/(exp(2*x) - 2*exp(x) + 5)
>>> radsimp(a)
exp(x)/(exp(2*x) - 2*exp(x) + 5)
>>> b2.subs(x, log(3)).evalf()
0.392699081698724
>>> (b2.subs(x, log(3)) - b2.subs(x, 0)).evalf()
0.392699081698724
※コメント投稿者のブログIDはブログ作成者のみに通知されます