質問するログイン新規登録

質問編集履歴

2

再度コード修正、グラフ追記

2019/01/14 16:37

投稿

minhouse10
minhouse10

スコア41

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,11 @@
1
1
  hayataka2049様のアドバイスに沿って、コードを修正した所、以下のようなグラフを出力する事ができました。
2
2
  ![イメージ説明](54636eae091ba4147a4453d7f835c5a3.png)
3
3
 
4
+ さらにhayataka2049様からなめらかなフィッティング結果になる様、np.linespace(開始、終了、要素数)のx軸への適用を追加でご教授頂き、理想的なグラフに仕上げる事ができました!
5
+
6
+ ![イメージ説明](1ec1ebcabaa7473d3aeac1a8e2d7e7fe.png)
7
+
4
- 修正版のコードは以下のとおりです。
8
+ 再度最新の修正版のコードは以下のとおりです。
5
9
  ```ここに言語を入力
6
10
  array_t = np.array([0,24,36,48,60,72]) #時間軸として0から24、以降12時間単位で時間の進行を示す
7
11
  array_y = np.array([0,92.7,95.28,95.34,95.35,95.4]) #時間軸のt値に対応した各y値はパーセンテージを示す
@@ -11,14 +15,14 @@
11
15
 
12
16
  param, cov = curve_fit(gomperts_f, array_t, array_y, p0=[8.13e-13,7.5e-01,1e+2])
13
17
 
18
+ x = np.linspace(-10, 100, 1000)
14
- y = gomperts_f(array_t,param[0],param[1],param[2])
19
+ #y = gomperts_f(array_t,param[0],param[1],param[2])
15
- #y = gomperts_f(array_t,8.13e-13,7.5e-01,1e+2)
20
+ y = [gomperts_f(x, *param) for x in x]
16
21
  plt.plot(array_t, array_y, 'o')
17
- plt.plot(array_t, y, '-')
22
+ plt.plot(x, y, '-')
18
23
  plt.xlabel("Hours")
19
24
  plt.ylabel("Success Rate")
20
25
  plt.grid(True)
21
- #plt.grid(which='minor',color='black',linestyle='-')
22
26
  t_freq = 24
23
27
  plt.axvline(t_freq, color='b', label='15min', linestyle='-', linewidth=1)
24
28
  plt.text(array_t[1], t_freq, "24h line", fontsize = 10)

1

コード修正、グラフ追記

2019/01/14 16:37

投稿

minhouse10
minhouse10

スコア41

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,34 @@
1
+ hayataka2049様のアドバイスに沿って、コードを修正した所、以下のようなグラフを出力する事ができました。
2
+ ![イメージ説明](54636eae091ba4147a4453d7f835c5a3.png)
3
+
4
+ 修正版のコードは以下のとおりです。
5
+ ```ここに言語を入力
6
+ array_t = np.array([0,24,36,48,60,72]) #時間軸として0から24、以降12時間単位で時間の進行を示す
7
+ array_y = np.array([0,92.7,95.28,95.34,95.35,95.4]) #時間軸のt値に対応した各y値はパーセンテージを示す
8
+
9
+ def gomperts_f(t,a,b,k):
10
+ return k*pow(a,(pow(b,t)))
11
+
12
+ param, cov = curve_fit(gomperts_f, array_t, array_y, p0=[8.13e-13,7.5e-01,1e+2])
13
+
14
+ y = gomperts_f(array_t,param[0],param[1],param[2])
15
+ #y = gomperts_f(array_t,8.13e-13,7.5e-01,1e+2)
16
+ plt.plot(array_t, array_y, 'o')
17
+ plt.plot(array_t, y, '-')
18
+ plt.xlabel("Hours")
19
+ plt.ylabel("Success Rate")
20
+ plt.grid(True)
21
+ #plt.grid(which='minor',color='black',linestyle='-')
22
+ t_freq = 24
23
+ plt.axvline(t_freq, color='b', label='15min', linestyle='-', linewidth=1)
24
+ plt.text(array_t[1], t_freq, "24h line", fontsize = 10)
25
+
26
+ for x, y in zip(array_t, array_y):
27
+ plt.text(x, y, y, ha='center', va='bottom')
28
+
29
+ plt.show()
30
+ ```
31
+
1
32
  以下の2つの配列の情報を使って、ゴンペルツ曲線を描画するプログラムを作成しているのですが、RunTimeエラーが発生してしまいます。
2
33
  t軸の0,24,36への対応として、y軸が0, 92.7,95.28に達した後は以降72までy値が微増している様子を曲線で描画したいと思っております。
3
34