はいどうも
乙pyです。
久々に
東の方の大学の入試問題を
解いていきたいと思います。
解説動画はこちら
さて
問題はこれです。

さて
こいつを解くには
sympy
を用います。
sympyでは複雑な計算結果を
求めることできます。
ライブラリを読み込みしておきましょう。
x をシンボル変数として読み込みしておくと
数式を定義する際に使うことができます。
次に数式の打ち込みです。
何かしらの変数に
数式を代入していきます。
上の問題の数式をプログラムでの数式に置き換えると
こんな感じになります。
()で割り算などの優先順位をつけるのは
数学の書き方と一緒です。
ルートはsqrt関数を用いて表します。
最後に積分の計算です。
sympyでは
sympy.integrate(数式 , (x , 0 , 1 ))
となります。
最後に計算結果を表示です。
変数に計算結果を代入してプリントするだけですね。
まとめると
-35/12 + pi/8 + 5*sqrt(2)/2
はい答え出ました。
計算結果がプログラム上での表記で出力されます。
通常の数式表示と違うので
これだと分かりづらいかも知れませんね
そんな時は
Latexという数式を表示させるための
言語があるので
その形式で出力し直すことができます。
はいこいつを
JupyterNotebookなどのマークダウンセルに打ち込みすれば
通常の数式表示されます。
答えを数式表示させると

はいこれで
分かりやすくなりましたね。
さて
いかがでしたでしょうか?
Sympyを使うと
結構大変な計算もすぐに
解けるし助かるんじゃないかと思います。
そもそもの
数式を入力するのに
30秒以上掛かってるって?
気のせいです!!!
今回はこれまでです。
それでは。
乙pyです。
久々に
東の方の大学の入試問題を
解いていきたいと思います。
解説動画はこちら
さて
問題はこれです。

さて
こいつを解くには
sympy
を用います。
sympyでは複雑な計算結果を
求めることできます。
ライブラリを読み込みしておきましょう。
import sympy
x = sympy.Symbol('x')
x をシンボル変数として読み込みしておくと
数式を定義する際に使うことができます。
次に数式の打ち込みです。
何かしらの変数に
数式を代入していきます。
f = (x**2+x/sympy.sqrt(1+x**2))*(1+x/((1+x**2)*sympy.sqrt(1+x**2)))
上の問題の数式をプログラムでの数式に置き換えると
こんな感じになります。
()で割り算などの優先順位をつけるのは
数学の書き方と一緒です。
ルートはsqrt関数を用いて表します。
最後に積分の計算です。
sympyでは
sympy.integrate(数式 , (x , 0 , 1 ))
となります。
最後に計算結果を表示です。
変数に計算結果を代入してプリントするだけですね。
まとめると
f = (x**2+x/sympy.sqrt(1+x**2))*(1+x/((1+x**2)*sympy.sqrt(1+x**2))) F = sympy.integrate(f , (x,0,1)) print(F)
-35/12 + pi/8 + 5*sqrt(2)/2
はい答え出ました。
計算結果がプログラム上での表記で出力されます。
通常の数式表示と違うので
これだと分かりづらいかも知れませんね
そんな時は
Latexという数式を表示させるための
言語があるので
その形式で出力し直すことができます。
print(sympy.latex(F))
- \frac{35}{12} + \frac{\pi}{8} + \frac{5 \sqrt{2}}{2}はいこいつを
JupyterNotebookなどのマークダウンセルに打ち込みすれば
通常の数式表示されます。
答えを数式表示させると

はいこれで
分かりやすくなりましたね。
さて
いかがでしたでしょうか?
Sympyを使うと
結構大変な計算もすぐに
解けるし助かるんじゃないかと思います。
そもそもの
数式を入力するのに
30秒以上掛かってるって?
気のせいです!!!
今回はこれまでです。
それでは。

コメントする