【Python】微分・積分を計算してみよう【プログラミングで数学】

Python
スポンサーリンク

こんにちは、くれあです。

この記事ではPythonで方程式の解を求めるプログラムを紹介します。

どんなプログラムができるか?
  • 数式処理ライブラリ「sympy」を使って微分・積分の計算を実行する
  • 微分係数・積分定数を求める

是非参考にしてみて下さい!

プログラミングを勉強してみたい!という方は、是非こちらも参考にしてください(^^)

SymPyをインストールしておく

事前に、開発環境でSymPyをインストールしておきます。

pip install sympy

ターミナルやコマンドプロンプトでコマンドを入れてインストールを実行しましょう。

Pythonの環境構築がない場合、

それを作っておく必要もありますがそこまで面倒ではないのでトライしてみてください!

Python公式でも環境構築についてガイドしてくれています。

Python環境構築ガイド - python.jp
ここでは、Pythonの未経験者の学習用に、Pythonをインストールする方法を、Windows、macOSなど、環境別に解説しています。 当サイトでは、Pythonの質問は受け付けていません。インストールで困ったら、 Python.jp Discordサーバ な

微分

まずは \(y=x^2-2x+2 \) を微分してみます。

サンプルプログラム

import sympy
# 微分計算
x = sympy.Symbol('x')
y = x**2 - 2*x + 2
Dy = sympy.Derivative(y, x).doit()
print(Dy)

Derivative()関数で微分の計算ができます。

第2引数の\(x\)はなくても同じ結果になりますが、

多変数関数の時などはどの変数で微分するか分からなくなるので、

一応第2引数に\(x\)を入れています。

実行結果

2*x + 2

次に、\(y=x^2-2x+2 \) の\(x=2 \)での微分係数を計算してみます。

サンプルプログラム

import sympy
# 微分計算
x = sympy.Symbol('x')
y = x**2 - 2*x + 2
Dfy = sympy.diff(y, x).subs(x,2)
print(Dfy)

diff()関数でも微分の計算ができます。

後ろにsubs()関数をつけることで、\(x=2 \)と指定して微分係数を求めることができます。

実行結果

2

積分

サンプルプログラム

import sympy

# 積分計算
x = sympy.Symbol('x')
y = 6*x**2 + 2*x - 3
Iy = sympy.integrate(y,x)
print(Iy)

integrate()関数で不定積分を求めることができます。

積分定数は省いて出力されるようです。

\(y=2x^3-x^2+3x \)の積分を求めてみます。

実行結果

2*x**3 + x**2 - 3*x

定積分を求めることもできます。

integrate()関数の第2引数に(x, -2, 1)とすることで、

-2から1までの定積分を計算させることができます。

サンプルプログラム

import sympy

# 定積分計算
x = sympy.Symbol('x')
y = 6*x**2 + 2*x - 3
Diy = sympy.integrate(y, (x, -2, 1))
print(Diy)

実行結果

6

まとめ

今回もSymPyライブラリをインストールすることで

簡単に微分、積分の計算を実行するプログラムができました。

ぜひ微積分を計算したい関数を色々カスタマイズしてみて試してみてくださいね!

(途中式はないですが、宿題の答えも簡単に分かってしまいますね…^^;;)

参考にした書籍はこちら
にほんブログ村 IT技術ブログへ
にほんブログ村

コメント

タイトルとURLをコピーしました