pythonによる最小二乗法・最適化問題
GUIプログラミング
ファイル
- 最小二乗法講義スライド: 講義-プログラム-数値計算2019E.pptx
pythonプログラム
a) 基本
- 入力データ (CSVファイル)
data.csv
- CSVの読み込み
01-readcsv.py

- CSVから読み込んだデータをグラフ(散布図)にプロット
02-plotcsv.py

b) numpy.polyfit() を使った多項式最小二乗
- 多項式最小二乗法を行う
03-polynomial-lsq.py
- 多項式最小二乗法を行い、グラフにプロット
04-polynomial-lsq-plot.py
c) scipy.optimize.leastsq()を使って多項式最少二乗法
- 多項式最小二乗法を行い、グラフにプロット
05-leastsq-plot.py
- フィッティング範囲を指定して多項式最小二乗法を行い、グラフにプロット
06-leastsq-plot-range.py
- フィッティング範囲を起動時引数で変えられるように
07-leastsq-plot-range-arg.py

c-2)
直列抵抗、shunt抵抗のあるダイオードの等価回路モデルでI-V特性をフィッティング。
I-V特性を求めるために、方程式の解を求めるscipy.optimize.fsolve()
を使う。
最小二乗法はscipy.optimize.optimize()を使う (simplex法)。
- プログラム 07b-diodeiv-leastsq.py
データ diodeiv.csv
実行: python 07b-diodeiv-leastsq.py diodeiv.csv

d) tkinterを使い、ファイル選択、フィッティング範囲などを指定する部分をGUI化する
- tkinterを使ってGUIインターフェースを作る
(最小二乗は関係なし)
08-GUI-tkinter.py

- d)-1とc)-1を組み合わせて、GUIでファイル選択をして最小二乗を行う。
09-leastsq-GUI.py
- d)-1とc)-3を組み合わせて、GUIで条件設定をして最小二乗を行う。
初期設定をinifile形式の設定ファイルから読み込む
(未完)。
10-leastsq-GUI-inifile.py
注意:
Anacondaを使っている場合でも、configparserのインストールが必要
D:\> conda install configparser

- tkinterのcanvasにmatplotlibを表示。
11-leastsq-GUI-tkmatplot.py