回答編集履歴
5
修正
answer
CHANGED
@@ -57,4 +57,4 @@
|
|
57
57
|
悪くない感じでフィッティングされます。
|
58
58
|
|
59
59
|
# 追記
|
60
|
-
でもこれだと、x方向に折り返すような関数は駄目なはずなので、もう少し改良の余地がある。
|
60
|
+
でもこれだと、x方向に折り返すような関数は駄目なはずなので、もう少し改良の余地がある。できるようになる座標変換を考えることはできるはずなので、まあなんとかなるとは思うのですが。しばらく考えさせてください(先に思いついた方は回答を投稿していただけると嬉しいです)。
|
4
追記
answer
CHANGED
@@ -50,6 +50,11 @@
|
|
50
50
|
|
51
51
|
```
|
52
52
|
|
53
|
+
|
54
|
+
|
53
55
|

|
54
56
|
|
55
|
-
悪くない感じでフィッティングされます。
|
57
|
+
悪くない感じでフィッティングされます。
|
58
|
+
|
59
|
+
# 追記
|
60
|
+
でもこれだと、x方向に折り返すような関数は駄目なはずなので、もう少し改良の余地がある。いけるようになる座標変換を考えることはできるはずなので、まあなんとかなるとは思うのですが。しばらく考えさせてください(他の方が先に投稿されても構いません)。
|
3
追記
answer
CHANGED
@@ -12,6 +12,7 @@
|
|
12
12
|
|
13
13
|
[scipy.optimize.curve_fit — SciPy v1.4.1 Reference Guide](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit.html)
|
14
14
|
|
15
|
+
(今回の関数はx=cの点で微分できないのだと思いますが、これで数理的に厳しいことになるのかどうかは正確には把握できていないので、識者の方のご意見を伺いたいです)
|
15
16
|
(ちなみに、ノイズがないなら、各隣接点同士を結ぶ傾きをすべて求めればいいです。出てくるユニークな値は2つになるのでそれが上の式のaとdで、あとは適当な点を使ってb, cのパラメータを求めれば良いです)
|
16
17
|
|
17
18
|
```python
|
2
連続っちゃ連続なので説明を修正
answer
CHANGED
@@ -12,7 +12,6 @@
|
|
12
12
|
|
13
13
|
[scipy.optimize.curve_fit — SciPy v1.4.1 Reference Guide](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit.html)
|
14
14
|
|
15
|
-
(まあ非連続関数なので、やり方としてこれで良いのかはよくわかりませんが……。とりあえずできるし良いでしょ)
|
16
15
|
(ちなみに、ノイズがないなら、各隣接点同士を結ぶ傾きをすべて求めればいいです。出てくるユニークな値は2つになるのでそれが上の式のaとdで、あとは適当な点を使ってb, cのパラメータを求めれば良いです)
|
17
16
|
|
18
17
|
```python
|
1
画像差し替え、凡例追加
answer
CHANGED
@@ -45,11 +45,11 @@
|
|
45
45
|
plt.plot(x, y_, linestyle="--", label="true")
|
46
46
|
plt.plot(x, func(x, *result[0]), linestyle="--", label="estimated")
|
47
47
|
plt.title("a:{:.2f} b:{:.2f} c:{:.2f} d:{:.2f}".format(*result[0]))
|
48
|
-
|
48
|
+
plt.legend()
|
49
49
|
plt.savefig("result.png")
|
50
50
|
|
51
51
|
```
|
52
52
|
|
53
|
-

|
54
54
|
|
55
55
|
悪くない感じでフィッティングされます。
|