回答編集履歴

5

修正

2020/03/10 07:02

投稿

hayataka2049
hayataka2049

スコア30935

test CHANGED
@@ -116,4 +116,4 @@
116
116
 
117
117
  # 追記
118
118
 
119
- でもこれだと、x方向に折り返すような関数は駄目なはずなので、もう少し改良の余地がある。いけるようになる座標変換を考えることはできるはずなので、まあなんとかなるとは思うのですが。しばらく考えさせてください(他の方が先に投稿されも構ません)。
119
+ でもこれだと、x方向に折り返すような関数は駄目なはずなので、もう少し改良の余地がある。できるようになる座標変換を考えることはできるはずなので、まあなんとかなるとは思うのですが。しばらく考えさせてください(先に思いついた方は回答を投稿ていただけると嬉しいです)。

4

追記

2020/03/10 07:02

投稿

hayataka2049
hayataka2049

スコア30935

test CHANGED
@@ -102,8 +102,18 @@
102
102
 
103
103
 
104
104
 
105
+
106
+
107
+
108
+
105
109
  ![イメージ説明](93f4bee45803eee426e78415d99235da.png)
106
110
 
107
111
 
108
112
 
109
113
  悪くない感じでフィッティングされます。
114
+
115
+
116
+
117
+ # 追記
118
+
119
+ でもこれだと、x方向に折り返すような関数は駄目なはずなので、もう少し改良の余地がある。いけるようになる座標変換を考えることはできるはずなので、まあなんとかなるとは思うのですが。しばらく考えさせてください(他の方が先に投稿されても構いません)。

3

追記

2020/03/10 07:01

投稿

hayataka2049
hayataka2049

スコア30935

test CHANGED
@@ -25,6 +25,8 @@
25
25
  [scipy.optimize.curve_fit — SciPy v1.4.1 Reference Guide](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit.html)
26
26
 
27
27
 
28
+
29
+ (今回の関数はx=cの点で微分できないのだと思いますが、これで数理的に厳しいことになるのかどうかは正確には把握できていないので、識者の方のご意見を伺いたいです)
28
30
 
29
31
  (ちなみに、ノイズがないなら、各隣接点同士を結ぶ傾きをすべて求めればいいです。出てくるユニークな値は2つになるのでそれが上の式のaとdで、あとは適当な点を使ってb, cのパラメータを求めれば良いです)
30
32
 

2

連続っちゃ連続なので説明を修正

2020/03/10 06:51

投稿

hayataka2049
hayataka2049

スコア30935

test CHANGED
@@ -25,8 +25,6 @@
25
25
  [scipy.optimize.curve_fit — SciPy v1.4.1 Reference Guide](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit.html)
26
26
 
27
27
 
28
-
29
- (まあ非連続関数なので、やり方としてこれで良いのかはよくわかりませんが……。とりあえずできるし良いでしょ)
30
28
 
31
29
  (ちなみに、ノイズがないなら、各隣接点同士を結ぶ傾きをすべて求めればいいです。出てくるユニークな値は2つになるのでそれが上の式のaとdで、あとは適当な点を使ってb, cのパラメータを求めれば良いです)
32
30
 

1

画像差し替え、凡例追加

2020/03/10 06:34

投稿

hayataka2049
hayataka2049

スコア30935

test CHANGED
@@ -92,7 +92,7 @@
92
92
 
93
93
  plt.title("a:{:.2f} b:{:.2f} c:{:.2f} d:{:.2f}".format(*result[0]))
94
94
 
95
-
95
+ plt.legend()
96
96
 
97
97
  plt.savefig("result.png")
98
98
 
@@ -102,7 +102,7 @@
102
102
 
103
103
 
104
104
 
105
- ![イメージ説明](86bd07aa328a776209c65b8e2a6b6709.png)
105
+ ![イメージ説明](93f4bee45803eee426e78415d99235da.png)
106
106
 
107
107
 
108
108