python - 我正在尝试使用拍摄方法找到一个周期轨道
问题描述
def integrate_ode(ode,u0,T):
sol=solve_ivp(ode,T,u0)
return sol.y[:,-1]
def phase(ode,u0):
return ode(0,u0)[0] #dx/dt(0)
def shooting(ode,U):
print(len(U))
u0=U[0:-1]
#print(u0)
T=U[-1]
#print(T)
G=np.concatenate((integrate_ode(ode,u0,T)-u0,phase(ode,u0)))
return G
要获得我正在使用的解决方案:
fsolve(lambda U:shooting(ode1,U),...(initial conditions))
我收到此错误:
IndexError: invalid index to scalar variable.
这是我的完整追溯:
Traceback (most recent call last):
"...Python\workweek16.py", line 62, in <module>
G=fsolve(lambda U:shooting(ode1,U),(0,0))
File "C:\Users\tmara\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\scipy\optimize\minpack.py", line 160, in fsolve
res = _root_hybr(func, x0, args, jac=fprime, **options)
File "C:\Users\tmara\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\scipy\optimize\minpack.py", line 226, in _root_hybr
shape, dtype = _check_func('fsolve', 'func', func, x0, args, n, (n,))
File "C:\Users\tmara\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\scipy\optimize\minpack.py", line 24, in _check_func
res = atleast_1d(thefunc(*((x0[:numinputs],) + args)))
File "...Python\workweek16.py", line 62, in <lambda>
G=fsolve(lambda U:shooting(ode1,U),(0,0))
File "...Python\workweek16.py", line 51, in shooting
G=np.concatenate((integrate_ode(ode,u0,T)-u0,phase(ode,u0)))
File "...Python\workweek16.py", line 40, in integrate_ode
sol=solve_ivp(ode,T,u0)
File "C:\Users\tmara\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\scipy\integrate\_ivp\ivp.py", line 508, in solve_ivp
t0, tf = float(t_span[0]), float(t_span[1])
IndexError: invalid index to scalar variable.
有谁知道该怎么做?
解决方案
的t_span
论点solve_ivp
实际上需要是一个时间跨度。所以T
用[0,T]
.
推荐阅读
- kframework - 在 K 中遍历评估上下文?
- mysql - 从 Access VBA 打印到 Dymo LabelWriter 450
- lua - lua匹配重复模式
- python - TensorFlow 和随机森林模型的评估
- python - 我的代码没有按国家/地区对我的数据框进行分组有什么原因吗?
- java - eclipse 插件/应用程序写入 cvs 文件
- sql - 存储过程不接受 null
- python - 如何使用 h5py 通过 szip 压缩访问 HDF5 数据集
- c# - 使用 Windows.UI.Notifications 未找到
- javascript - 本地运行的 React 代码中的内容类型