科学技術計算で使うPython
林真著「科学技術計算で使うPython」工学社 (2016/10)
https://www.amazon.co.jp/dp/product/4777519775/
https://www.amazon.co.jp/dp/product/4777519775/
配列、行列、条件分岐、ループ処理、隣接行列、折線グラフ、棒グラフ、二軸グラフ、等高線図、3D散布図、3D棒グラフ、3次元曲面関数、片対数グラフ、極座標グラフ、平均・中間値、標準偏差、分散、t検定、分散分析、ヒストグラム、展開、因数分解、複素数、補間、常用対数、並列処理、定積分、重積分、不定積分、ラプラス変換、常微分、偏微分、匿名関数、高速フーリエ変換、2次元離散フーリエ変換、回帰曲線(1次、2次、高次、三角関数)、方程式、連立方程式、常微分方程式を扱う。
主要なライブラリを概観できる。
主要なライブラリを概観できる。
Sample Code、出版社による誤植情報
http://www.kohgakusha.co.jp/support/kk_python/index.html
以下は、読後のメモ。
np.sort(array_a, とするのが、正しい。
http://www.kohgakusha.co.jp/support/kk_python/index.html
以下は、読後のメモ。
第1章 Pythonで使うライブラリの概要
p10 三角関数のグラフ
import numpy as np from matplotlib import pyplot as plt t_list = np.arange(0.0, 5.0, 0.02) y_list = np.sin(2*np.pi*t_list) plt.plot(t_list,y_list,label=f'y=sin(2x)') plt.hlines(0,0,5, linestyles='--', color ='black') plt.xlim(0,) plt.legend(loc='upper right') plt.show()
第2章 環境の整備
p18 モジュールのバージョン確認
Google Corab の場合
import numpy as np np.__version__
1.23.5
第3章 配列、行列の処理
p27 変数a
変数a は定義されていない。
np.sort(a, とあるのは、三か所とも、np.sort(array_a, とするのが、正しい。
p39 末2行目
変数a とあるのは、
変数s が正しい。
1~200 とあるのは、
1~199 が正しい。
変数s が正しい。
1~200 とあるのは、
1~199 が正しい。
p41 フィボナッチ数列
1000以下のフィボナッチ数列 とあるが、
実際には、2584 まで出力されている。
13:計算した平均値 が正しい。
実際には、各値を配列に格納している。
data2.csv が正しい。
(x, が正しい。
第4章 グラフを描く
p55 プログラム解説
12:計算した平均値 とあるのは、13:計算した平均値 が正しい。
p55 プログラム解説
14、15で(最初の要素) とあるが、実際には、各値を配列に格納している。
p57 code4-5, 3行目
data.csv とあるのは、data2.csv が正しい。
p62 code4-7, 10行目
(x. とあるのは、(x, が正しい。
p71 サーフェス
数式とコードが不一致。
数式で \begin{align} z = \sin(x^2+y^2) \nonumber \\ \end{align} とあるのを、
\begin{align} z = \sin \sqrt{x^2+y^2} \nonumber \\ \end{align} とすればコードと一致する。
目盛り が正しい。
「社会」 が正しい。
「精度」 が正しい。
数式で \begin{align} z = \sin(x^2+y^2) \nonumber \\ \end{align} とあるのを、
\begin{align} z = \sin \sqrt{x^2+y^2} \nonumber \\ \end{align} とすればコードと一致する。
p74 プログラム解説 10
メモリ とあるのは、目盛り が正しい。
第5章 統計解析
p86 4行目
「社」会 とあるのは、「社会」 が正しい。
第6章 展開・因数分解・複素数・補間
p100 末2行目
「精」度 とあるのは、「精度」 が正しい。
p102 7行目
9~13行目 とあるのは、
11~15行目 が正しい。
16~19行目 が正しい。
20~23行目 が正しい。
x = Symbol が正しい。
integrate(func, x) が正しい。
\[ \int_0^\infty e^{-st}\sin... \] が正しい(https://www.jeea.or.jp/course/contents/01131/ 日本電気技術者協会)
\[ =\frac{d^2}{dx^2}... \] が正しい。
plt.plot(x, y) が正しい。
…abs(yfft)[0:int(N/2)])… が正しい。
parameter が正しい。
parameter が正しい。
parameter c が正しい。
paramater b…
paramater b… とあるのは、
parameter a …
parameter b…
parameter c… が正しい。
11~15行目 が正しい。
p102 8行目
14~17行目 とあるのは、16~19行目 が正しい。
p102 8行目
18~21行目 とあるのは、20~23行目 が正しい。
第7章 積分・微分
p107 code7-3 2行目
x = symbol とあるのは、x = Symbol が正しい。
p107 code7-4 3行目
integrate(func) とあるのは、integrate(func, x) が正しい。
p108 ラプラス変換式
\[ \int_0^\infty \sin... \] とあるのは、\[ \int_0^\infty e^{-st}\sin... \] が正しい(https://www.jeea.or.jp/course/contents/01131/ 日本電気技術者協会)
p110 末の数式
\[ =\frac{d^d}{dx^2}... \] とあるのは、二階微分の趣旨であるから、\[ =\frac{d^2}{dx^2}... \] が正しい。
第8章 各種解析
p115 code8-1 10行目
plt.plot(x/10, y) とあるのは、plt.plot(x, y) が正しい。
p115 code8-1 13行目
…abs(yfft[0:N/2])… とあるのは、…abs(yfft)[0:int(N/2)])… が正しい。
p125 code8-5 11行目
paramater とあるのは、parameter が正しい。
p126 code8-5 12行目
paramater とあるのは、parameter が正しい。
p126 code8-5 13行目
paramater b とあるのは、parameter c が正しい。
p126 末3行目以降
paramater a …paramater b…
paramater b… とあるのは、
parameter a …
parameter b…
parameter c… が正しい。
第9章 方程式
p139 連立方程式
数式とコードが不一致。
\[ x^2-2y+1=0 \]とあるのを、
\[ 2x-2y+1=0 \]とすればコードと一致する。
\[ x^2-2y+1=0 \]とあるのを、
\[ 2x-2y+1=0 \]とすればコードと一致する。
p141 シンボリックに方程式を解く
数式とコードが不一致。
\[
\left\{
\begin{array}{l}
ax-by=15 \\
x-y=-1
\end{array}
\right.
\]
とあるのを、
\[
\left\{
\begin{array}{l}
ax-by=-15 \\
x-y=-2
\end{array}
\right.
\]とすればコードと一致する。
7行目の入力は… が正しい。
\[ y2'(t)=-ay2(t)-\sin(y1(t)) \]が正しい。
\[
\left\{
\begin{array}{l}
ax-by=15 \\
x-y=-1
\end{array}
\right.
\]
とあるのを、
\[
\left\{
\begin{array}{l}
ax-by=-15 \\
x-y=-2
\end{array}
\right.
\]とすればコードと一致する。
p143 4行目
6行目の入力は… とあるのは、7行目の入力は… が正しい。
p143 中ほどの式
\[ y2'(t)=-ay2(t)-\sin(y(t)) \]とあるのは、\[ y2'(t)=-ay2(t)-\sin(y1(t)) \]が正しい。