質問編集履歴

2

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

2019/01/14 16:37

投稿

minhouse10
minhouse10

スコア41

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,15 @@
4
4
 
5
5
 
6
6
 
7
+ さらにhayataka2049様からなめらかなフィッティング結果になる様、np.linespace(開始、終了、要素数)のx軸への適用を追加でご教授頂き、理想的なグラフに仕上げる事ができました!
8
+
9
+
10
+
11
+ ![イメージ説明](1ec1ebcabaa7473d3aeac1a8e2d7e7fe.png)
12
+
13
+
14
+
7
- 修正版のコードは以下のとおりです。
15
+ 再度最新の修正版のコードは以下のとおりです。
8
16
 
9
17
  ```ここに言語を入力
10
18
 
@@ -24,21 +32,21 @@
24
32
 
25
33
 
26
34
 
27
- y = gomperts_f(array_t,param[0],param[1],param[2])
35
+ x = np.linspace(-10, 100, 1000)
28
36
 
29
- #y = gomperts_f(array_t,8.13e-13,7.5e-01,1e+2)
37
+ #y = gomperts_f(array_t,param[0],param[1],param[2])
38
+
39
+ y = [gomperts_f(x, *param) for x in x]
30
40
 
31
41
  plt.plot(array_t, array_y, 'o')
32
42
 
33
- plt.plot(array_t, y, '-')
43
+ plt.plot(x, y, '-')
34
44
 
35
45
  plt.xlabel("Hours")
36
46
 
37
47
  plt.ylabel("Success Rate")
38
48
 
39
49
  plt.grid(True)
40
-
41
- #plt.grid(which='minor',color='black',linestyle='-')
42
50
 
43
51
  t_freq = 24
44
52
 

1

コード修正、グラフ追記

2019/01/14 16:37

投稿

minhouse10
minhouse10

スコア41

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