Notebook
これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。
HTML ファイル生成日時: 2024/11/24 14:07:03.493 (台灣標準時)
sympy パッケージ
sympy パッケージというものがあって、方程式を解析的に解かせる、というよ
うなことができるようなので、試してみたでござる。
ガウス積分
以下のようにすればガウス積分を計算してもらうことができるようでござる。
#!/usr/pkg/bin/python3.9
# Time-stamp: <2022/04/18 21:01:15 (CST) daisuke>
# importing sympy module
import sympy
# variable
x = sympy.Symbol ('x')
# function f(x)
f = sympy.exp (-x**2)
# integration of f(x)
I = sympy.integrate (f, (x, -sympy.oo, sympy.oo))
# printing result
print (I)
実行結果は以下の通りにござる。
% ./test_00.py
sqrt(pi)
式の展開
式の展開の例。
#!/usr/pkg/bin/python3.9
# Time-stamp: <2022/04/18 21:01:20 (CST) daisuke>
# importing sympy module
import sympy
# variable
x = sympy.Symbol ('x')
# function f(x)
f = (x+1) * (x-1)
# expanding f(x)
f2 = sympy.expand (f)
# printing result
print (f, "=", f2)
実行結果は以下の通りにござる。
% ./test_01.py
(x - 1)*(x + 1) = x**2 - 1
極限
極限の求め方。
#!/usr/pkg/bin/python3.9
# Time-stamp: <2022/04/18 21:01:25 (CST) daisuke>
# importing sympy module
import sympy
# variable
x = sympy.Symbol ('x')
# function f(x)
f = sympy.sin (x) / x
# lim (x -> 0) sin(x)/x
lim_0 = sympy.limit (f, x, 0)
# printing result
print ("lim_0 sin(x)/x =", lim_0)
実行結果は以下の通り。
% ./test_02.py
lim_0 sin(x)/x = 1
代数方程式を解く
二次方程式を解く。
#!/usr/pkg/bin/python3.9
# Time-stamp: <2022/04/18 21:01:29 (CST) daisuke>
# importing sympy module
import sympy
# variable
x, a, b, c = sympy.symbols ('x a b c')
# function f(x)
f = a*x**2 + b*x + c
# solving f(x) = 0
sol = sympy.solve (f, x)
# printing result
print ("x =", sol)
実行結果は以下の通り。
% ./test_03.py
x = [(-b + sqrt(-4*a*c + b**2))/(2*a), -(b + sqrt(-4*a*c + b**2))/(2*a)]
微分方程式を解く
微分方程式を解く。
#!/usr/pkg/bin/python3.9
# Time-stamp: <2022/04/18 21:01:34 (CST) daisuke>
# importing sympy module
import sympy
# variable
x, y, k = sympy.symbols ('x y k')
# function y(x)
y = sympy.Function ('y')
# solving dy/dx = -ky
sol = sympy.dsolve (sympy.Eq (y(x).diff (x), -k*y(x)), y(x))
# printing result
print ("y =", sol)
実行結果は以下の通り。
% ./test_04.py
y = Eq(y(x), C1*exp(-k*x))
式の整理
式の整理の例。
#!/usr/pkg/bin/python3.9
# Time-stamp: <2022/04/18 21:01:38 (CST) daisuke>
# importing sympy module
import sympy
# variable
x, y = sympy.symbols ('x y')
# function f(x,y)
f = (x+y)**2 - (x-y)**2
# solving f(x) = 0
f2 = sympy.simplify (f)
# printing result
print (f, "=", f2)
実行結果。
% ./test_05.py
-(x - y)**2 + (x + y)**2 = 4*x*y
n=0 の Lane-Emden 方程式を解く
n=0 の Lane-Emden 方程式を解いてみる。
#!/usr/pkg/bin/python3.9
# Time-stamp: <2022/04/18 21:08:41 (CST) daisuke>
# importing sympy module
import sympy
# variable
x = sympy.Symbol ('x')
# function y(x)
y = sympy.Function ('y')
# differential equation
lane_emden_0 = sympy.Eq (x**-2 * (x**2 * y(x).diff (x)).diff (x), -1)
# solving lane-emden equation of n=0
sol = sympy.dsolve (lane_emden_0, y(x))
# printing result
print ("y =", sol)
実行結果は以下の通り。
% ./test_06.py
y = Eq(y(x), C1 + C2/x - x**2/6)
- About this article:
- author: daisuke
- file: 20220418_0.html
- category: Computer___Python
- title: sympy パッケージ
- mode: public
- last modified: 2022/04/18 21:28:31 (Taiwan Standard Time)
- html generated: 2024/11/24 14:07:03.493 (Taiwan Standard Time)
Frequently accessed files
- Computer___Python/20220518_0.html
- 11288 page views
- title: Matplotlib で作る図の縦横比
- Computer___Network/20230726_00.html
- 4827 page views
- title: git の SSL certificate problem の解決方法
- Misc___Taiwan/20240207_00.html
- 3562 page views
- title: 台灣から台灣の外に EMS で荷物を発送する方法
- Computer___Network/20230516_00.html
- 3515 page views
- title: OpenVPN 2.6 を使い VPN Gate に接続するときの注意点
- Computer___FreeBSD/20220621_0.html
- 2875 page views
- title: FreeBSD での X.org の設定の仕方
- Computer___Python/20220715_0.html
- 2200 page views
- title: SciPy による最小二乗法
- Computer___Network/20230508_00.html
- 2028 page views
- title: git push するときにパスワードの入力を省略する方法
- Food___Taiwan/20220429_0.html
- 1943 page views
- title: 「楊滇風」の滇味辣炒豬
- Computer___NetBSD/20220817_3.html
- 1666 page views
- title: JupyterLab のインストール直後に行うべきこと
- Computer___Python/20220410_0.html
- 1662 page views
- title: Pint モジュールを使った単位を含む数値の取り扱い
- Computer___Network/20240416_00.html
- 1617 page views
- title: git push としたときの error: RPC failed
- Computer___Network/20240130_00.html
- 1612 page views
- title: Google Colaboratory で Python 3.12 を使う方法
- Computer___Debian/20210223_1.html
- 1556 page views
- title: Debian で autofs を使い自動で NFS マウントする方法
- Computer___NetBSD/20230119_00.html
- 1522 page views
- title: NetBSD でバイナリーパッケージを利用する方法
- Computer___Python/20210124_0.html
- 1479 page views
- title: Python での argparse を使ったコマンドライン引数の取り扱い方法
- Computer___Python/20221013_0.html
- 1477 page views
- title: Matplotlib での作図において順番を決めて点や線を描画する方法
- Computer___NetBSD/20220818_1.html
- 1434 page views
- title: Emacs の markdown-mode について
- Computer___NetBSD/20220428_0.html
- 1431 page views
- title: Beamer で verbatim 環境を使う方法
- Science___Math/20220420_0.html
- 1306 page views
- title: ラプラシアンの三次元極座標表示
- Computer___NetBSD/20240101_02.html
- 1300 page views
- title: ffmpeg を使って動画に音声を追加する方法
- Computer___NetBSD/20220808_0.html
- 1272 page views
- title: 端末エミュレーターで使うフォントを指定する方法
- Computer___TeX/20230503_00.html
- 1264 page views
- title: LaTeX CJK で日本語や中国語を取り扱うための準備について
- Computer___NetBSD/20230515_00.html
- 1260 page views
- title: pkgsrc の fetch phase で問題
- Science___Astronomy/20220503_0.html
- 1258 page views
- title: Lane-Emden 方程式を数値的に解く
- Computer___NetBSD/20210127_0.html
- 1237 page views
- title: NetBSD 上で Apache により HTTPS サーバを立ち上げる方法
- Computer___Python/20240101_00.html
- 1227 page views
- title: Matplotlib の 3D plot においての注意点
- Computer___Network/20220413_1.html
- 1199 page views
- title: HTML 文書の中の一部の文字を点滅させる方法
- Computer___Python/20220816_1.html
- 1147 page views
- title: Binder を使って Python スクリプトを実行する
- Computer___NetBSD/20210204_0.html
- 1137 page views
- title: Raspberry Pi 4 への NetBSD のインストール
- Travel___Taiwan/20220809_2.html
- 1128 page views
- title: 老鷹溪生態親子步道
HTML file generated by Kinoshita Daisuke.