关于我在Python2.7中的代码,我有两个小问题,我想看看您对这些问题的看法:
次要问题:因此,我一直在测试一个python2.7脚本,该脚本设计为在给定绕椭圆行驶的距离后输出一个度航向。但是,我需要程序在15秒内运行到最大限度。目前,程序输出31.1410000324 seconds for completion
,考虑到我可以将样本大小分成不到一半,这并不可怕
主要问题:然而,另一个问题是:在程序中的3个特定点,输出的结果不正确。一次输出18.47700786
,另两次输出37.90802974
。为什么会这样?当我正常运行所有3个时,它们都输出正确的值,但是在全速运行时,它们似乎给出了奇怪的值,尽管每次的值都是一致的。我想知道你的想法
以下是脚本:
import numpy as np
from scipy.integrate import quad
from scipy.optimize import minimize
import time
a = 2; b = 1
Dx = lambda t: -a * np.sin(t)
Dy = lambda t: b * np.cos(t)
encoderdistance = 0.00001
def func(x): return np.sqrt(Dx(x)**2 + Dy(x)**2)
time1 = time.time()
for i in range(2423):
r_angle = (((180/np.pi) * np.arctan(((np.tan(minimize(lambda x:
abs(quad(func, 0, x)[0] - encoderdistance), 1).x))*b)/a)))
print r_angle[0]
encoderdistance += 0.001
time2 = time.time()
print time2-time1, "seconds for completion"
目前没有回答
相关问题 更多 >
编程相关推荐