Python优化和奇怪的输出响应

时间:2017-08-14 20:32:21

标签: python python-2.7 performance performance-testing

我在Python 2.7中有两个关于我的代码的小问题,我希望看到你对这些问题的意见:

较小的问题: 所以我一直在测试一个Python 2.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"

这是输出代码的图表: Code Graph

0 个答案:

没有答案
相关问题