質問編集履歴

1

改善

2020/02/11 14:24

投稿

gen61banana
gen61banana

スコア7

test CHANGED
@@ -1 +1 @@
1
- 式の代入の仕方、'numpy.float64' object is not callableの解決
1
+ 一から勉強し直します
test CHANGED
@@ -1,177 +1,5 @@
1
- ### 前提・実現したい
1
+ 解決まし。ご回答ただきありがうございました。
2
2
 
3
- 以下の式が最小値、最大値時の変数xyの値を求めいです。
3
+ 一から勉強し始めて恥ずかしい質問してい反省しまし...
4
4
 
5
- 1.式=8πsin(x+y)/{A+sin(Θ1)ーsin(Θ2)}
6
-
7
- 2.A=∫{1ー4sin**2(Θ-x)-4ksin(Θ-x)-k**2}cosΘ dΘ [Θ1,Θ2]
8
-
9
- 3.Θ1=x-Arccos((2-k)/2)
10
-
11
- 4.Θ2=x+Arccos((-2-k)/2)
12
-
13
- 5.k=sin(x+y)
14
-
15
-
16
-
17
- 細かい答えを教えていただきたいわけではありません。
18
-
19
- 最終的に求めたいもの途中式ですので、①式から式への代入、②その時に積分を挟んだ時、
20
-
21
- の書き方・考え方を教えていただきたいです。(特に式から式への代入です...)
22
-
23
- ですので、もしお答えしていただけるとしてももっと簡単な式に変えていただいても十分有り難いです。
24
-
25
-
26
-
27
- 相当コードが読みにくいと思います。申し訳ありません...
28
-
29
-
30
-
31
- ここに質問の内容を詳しく書いてください。
32
-
33
- (例)PHP(CakePHP)で●●なシステムを作っています。
34
-
35
- ■■な機能を実装中に以下のエラーメッセージが発生しました。
36
-
37
-
38
-
39
- ### 発生している問題・エラーメッセージ
40
-
41
-
42
-
43
- ```
44
-
45
- Traceback (most recent call last):
46
-
47
- File "~~.py", line 22, in <module>
48
-
49
- kai = fmin(siki,[0,0],args = arg)
50
-
51
- File "/usr/lib/python2.7/dist-packages/scipy/optimize/optimize.py", line 353, in fmin
52
-
53
- res = _minimize_neldermead(func, x0, args, callback=callback, **opts)
54
-
55
- File "/usr/lib/python2.7/dist-packages/scipy/optimize/optimize.py", line 510, in _minimize_neldermead
56
-
57
- fsim[k] = func(sim[k])
58
-
59
- File "/usr/lib/python2.7/dist-packages/scipy/optimize/optimize.py", line 290, in function_wrapper
60
-
61
- return function(*(wrapper_args + args))
62
-
63
- File "~~.py", line 15, in <lambda>
64
-
65
- - (np.sin(x[0]+np.arcsin((-np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2)))))
66
-
67
- TypeError: 'numpy.float64' object is not callable
68
-
69
- エラーメッセージ
70
-
71
- ```
72
-
73
-
74
-
75
- ### 該当のソースコード
76
-
77
-
78
-
79
- ```ここに言語名を入力
80
-
81
- python2.7
82
-
83
-
84
-
85
- ソースコード
86
-
87
- import numpy as np
88
-
89
-
90
-
91
- from scipy.optimize import fmin
92
-
93
-
94
-
95
- x = np.arange(-2 * np.pi, 2 * np.pi, 0.1)
96
-
97
-
98
-
99
- siki = lambda x, a: -((a*(np.pi)*((np.sin(x[0] + x[1]))))
100
-
101
- /(((-(5+(2*np.sin(x[0]+x[1]))**2)(np.sin(x[0]+np.arcsin((-np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2))-np.sin(x[0]+np.arcsin((np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2))))
102
-
103
- + 1/3((np.sin(3*(x[0]+np.arcsin((-np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2)) - 2*x[0])) - np.sin(3*(x[0]+np.arcsin((np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2)) - 2*x[0]))
104
-
105
- + (np.sin((x[0]+np.arcsin((-np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2)) - 2*x[0]) - (np.sin((x[0]+np.arcsin((np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2)) - 2*x[0])))
106
-
107
- + (2*np.sin(x[0]+x[1])) * ((np.cos(2*(x[0]+np.arcsin((-np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2))-x[0]) + (2*(x[0]+np.arcsin((-np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2))*np.sin(x[0]))) - ((np.cos(2*(x[0]+np.asin((np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2))-x[0]) + (2*x[0]+np.arcsin((np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2))*np.sin(x[0])))))
108
-
109
- + (np.sin(x[0]+np.arcsin((np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2)))
110
-
111
- - (np.sin(x[0]+np.arcsin((-np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2)))))
112
-
113
-
114
-
115
- ""下のA,Θ1,Θ2,k の式は実際のコードでは書いていない。全て上のsikiに入れた""
116
-
117
-
118
-
119
- A = ((-(5+(2*np.sin(x[0]+x[1]))**2)(np.sin(x[0]+arcsin((-np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2))-np.sin(x[0]+arcsin((np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2))))
120
-
121
- + 1/3((np.sin(3*(x[0]+arcsin((-np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2)) - 2*x[0])) - np.sin(3*(x[0]+arcsin((np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2)) - 2*x[0]))
122
-
123
- + (np.sin((x[0]+arcsin((-np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2)) - 2*x[0]) - (np.sin((x[0]+arcsin((np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2)) - 2*x[0])))
124
-
125
- + (2*np.sin(x[0]+x[1])) * ((np.cos(2*(x[0]+arcsin((-np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2))-x[0]) + (2*(x[0]+arcsin((-np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2))*np.sin(x[0]))) - ((np.cos(2*(x[0]+arcsin((np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2))-x[0]) + (2*x[0]+arcsin((np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2))*np.sin(x[0])))))
126
-
127
-
128
-
129
- Θ1 = (x[0]+arcsin((np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2))
130
-
131
-
132
-
133
- Θ2 = (x[0]+arcsin((-np.sqrt(2)-(2*np.sin(x[0]+x[1])))/2))
134
-
135
-
136
-
137
- k = (2*np.sin(x[0]+x[1]))
138
-
139
-
140
-
141
- "" 下からは実際に書いたもの""
142
-
143
-
144
-
145
- a = 8
146
-
147
-
148
-
149
- arg = (a,)
150
-
151
-
152
-
153
- kai = fmin(siki,[-1,0],args = arg)
154
-
155
-
156
-
157
- print(kai)
158
-
159
- ```
160
-
161
-
162
-
163
- ### 試したこと
164
-
165
- エラーメッセージの意味は調べ書き方を変えたりしてみましたが、変わりませんでした。
166
-
167
-
168
-
169
- ここに問題に対して試したことを記載してください。
170
-
171
-
172
-
173
- ### 補足情報(FW/ツールのバージョンなど)
174
-
175
-
176
-
177
- ここにより詳細な情報を記載してください。
5
+ 甘えず基礎からやっていきます。