x-cos(x) = t
といった方程式を x =...の形に書くためにコードを作成しましたが、tをt = [0,1,2,3,4,5]といった配列にするとエラーになってしまいます。
tが2などの定数だと計算ができています。
この原因を教えていただけないでしょうか?
よろしくお願いします。
python
コードリンク内容
import numpy as np
from scipy import optimize
t = [0,1,2,3,4,5]
def f(x):
return x - np.cos(x)
def g(E):
return t
def h(x):
return f(x)-g(x)
s = optimize.fsolve(h,0)
print(s)
エラー
Traceback (most recent call last):
File "optimize_test.py", line 14, in <module>
s = optimize.fsolve(h,0)
File "C:\Users\AppData\Local\Programs\Python\Python36-32\lib\site-packages\scipy\optimize\minpack.py", line 148, in fsolve
res = _root_hybr(func, x0, args, jac=fprime, **options)
File "C:\Users\AppData\Local\Programs\Python\Python36-32\lib\site-packages\scipy\optimize\minpack.py", line 227, in _root_hybr
ml, mu, epsfcn, factor, diag)
ValueError: The array returned by a function changed size between calls
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/29 03:32
2018/11/29 03:38
2018/11/29 03:42
2018/11/29 03:44
2018/11/29 03:50
2018/11/29 03:59 編集
2018/11/29 04:01