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

質問編集履歴

1

追記

2020/08/13 03:56

投稿

melonattacker
melonattacker

スコア13

title CHANGED
File without changes
body CHANGED
@@ -40,4 +40,38 @@
40
40
 
41
41
  print("n_t:", n_t)
42
42
  print("u_t:", u_t) # ここが①のu_tと等しければ正解
43
+ ```
44
+
45
+ # 追記
46
+ `scipy.optimize.newton`を用いて、解くことができました。
47
+
48
+ ```Python
49
+ import numpy as np
50
+ import math
51
+ from scipy import integrate, optimize
52
+
53
+ beta = 0.3
54
+ chi = 1.0
55
+ productivity = 100.0
56
+ interest_rate = 0.05
57
+ price_mu = 0.01
58
+ utility_mu = 0.03
59
+ utility_sigma = 0.3
60
+
61
+ theta: float = utility_sigma / math.sqrt(2 * utility_mu)
62
+ y = lambda u: math.sqrt(1 / (2 * math.pi * theta ** 2)) * math.e ** (- u ** 2 / (2 * theta ** 2))
63
+
64
+ def N_t(u_t):
65
+ iy, err = integrate.quad(y, -np.inf, u_t)
66
+ userbase = 1 - iy
67
+ return userbase - math.exp(-(u_t) + math.log(chi / (productivity * beta)) - ((1 - beta) / beta) * math.log((1 - beta) / (interest_rate - price_mu)))
68
+
69
+ u_t = optimize.newton(N_t, 0)
70
+
71
+ iy, err = integrate.quad(y, -np.inf, u_t)
72
+ n_t: float = 1 - iy
73
+
74
+ print(u_t)
75
+ print(n_t)
76
+
43
77
  ```