回答編集履歴
1
回答修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
求めたい結果が把握できているか分かりませんが、単純に[numpy.polyfit](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.polyfit.html)で
|
1
|
+
求めたい結果が把握できているか分かりませんが、単純に[numpy.polyfit](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.polyfit.html)で価格から個数を求める1次式の係数を求め、利益を求める2次式より傾き0の値を求めればよいかと思います。
|
2
2
|
|
3
3
|
参考:[NumPy で回帰分析をする](https://qiita.com/ynakayama/items/dae1f5bf5688b7ce8e77)
|
4
4
|
|
@@ -10,17 +10,15 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
#
|
13
|
+
# 0円で100個,1000円で0個売れる
|
14
14
|
|
15
15
|
s = """
|
16
16
|
|
17
17
|
price,sales
|
18
18
|
|
19
|
-
0,
|
19
|
+
0,100
|
20
20
|
|
21
|
-
10,
|
21
|
+
1000,0
|
22
|
-
|
23
|
-
20,-60
|
24
22
|
|
25
23
|
"""
|
26
24
|
|
@@ -36,28 +34,32 @@
|
|
36
34
|
|
37
35
|
|
38
36
|
|
37
|
+
# 価格から予想個数を線形回帰
|
38
|
+
|
39
39
|
import scipy as sp
|
40
40
|
|
41
|
-
|
41
|
+
p = sp.polyfit(x, y, 1)
|
42
42
|
|
43
|
-
print(
|
43
|
+
print(p) # [ -0.1 100]
|
44
|
-
|
45
|
-
(a,b,c) = tuple(ret[0]) # y = a * x**2 + b*x + c
|
46
44
|
|
47
45
|
|
48
46
|
|
49
|
-
# 2次関数
|
50
|
-
|
51
|
-
|
47
|
+
cost = 100# 原価
|
52
|
-
|
53
|
-
return p[0] * x**2 + p[1] * x + p[2]
|
54
48
|
|
55
49
|
|
56
50
|
|
57
|
-
|
51
|
+
# 利益が最大となる価格、個数、利益額
|
58
52
|
|
59
|
-
|
53
|
+
price = - ( p[1] - cost * p[0] ) / (2 * p[0])
|
60
54
|
|
55
|
+
sales = p[0] * price + p[1]
|
56
|
+
|
57
|
+
profits = p[0] * price ** 2 + ( p[1] - cost * p[0]) * price - cost * p[1]
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
-
print(
|
61
|
+
print(price, sales, profits) # 550.0 45.0 20250.0
|
62
62
|
|
63
63
|
```
|
64
|
+
|
65
|
+
結果をどのように表示すべき(したい)かについては不明ですので回答は保留します。
|