質問編集履歴
1
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -18,7 +18,6 @@
|
|
18
18
|
initial = [0.05, 0.1]
|
19
19
|
|
20
20
|
i = 4
|
21
|
-
# うまくいかないポイント
|
22
21
|
for o, g in zip(name, initial):
|
23
22
|
|
24
23
|
while i < 1305:
|
@@ -28,38 +27,31 @@
|
|
28
27
|
|
29
28
|
one_list = []
|
30
29
|
|
31
|
-
# 水頭
|
32
30
|
a = data[o].iloc[i:i+400,1]
|
33
31
|
|
34
|
-
# 体積含水率
|
35
32
|
d = data[o].iloc[i:i+400,2]
|
36
33
|
c = a.tolist()
|
37
34
|
b = d.tolist()
|
38
35
|
|
39
36
|
plt.plot(c, b, 'o',label='Raw data')
|
40
37
|
|
41
|
-
# データにおける最大含水量
|
42
38
|
m = data[o].iloc[5:,2].max()
|
43
39
|
s = data[o].iloc[5:,2].min()
|
44
40
|
|
45
|
-
#フィッティング関数の指定
|
46
41
|
def fitfunc(h, x, z, n ):
|
47
42
|
return x+((m-x)*((1+(z*h)**n)**(1/n-1)))
|
48
43
|
|
49
44
|
|
50
|
-
para_ini =[g, 0.5, 1.5]
|
45
|
+
para_ini =[g, 0.5, 1.5]
|
51
46
|
|
52
|
-
# 拘束条件
|
53
47
|
para_bounds=([0,-np.inf,1],[s,1,np.inf])
|
54
48
|
|
55
49
|
para_opt, cov = scipy.optimize.curve_fit(fitfunc, c, b, para_ini,bounds = para_bounds )#フィAッティングパラメータの最適化
|
56
50
|
|
57
|
-
#得られたフィッティングパラメータの表示
|
58
51
|
print ("Fitted x =", str(para_opt[0]))
|
59
52
|
print ("Fitted z =", str(para_opt[1]))
|
60
53
|
print ("Fitted n =", str(para_opt[2]))
|
61
54
|
|
62
|
-
# for plot
|
63
55
|
x=para_opt[0]
|
64
56
|
z=para_opt[1]
|
65
57
|
n=para_opt[2]
|