2016-12-15 4 views
0

Мне нужно найти длину кривой, используя 3 разные целевые функции (ниже), а функцию i - как findLength. Я побежал через него я не мог получить какую-либо цифра может кто-нибудь сказать мне, что это неправильно этот код, и я очень новичок в Python, и это для школьного заданияPython, нахожу кривую Длина

def showLength(targetFunc, minPoints, maxPoints): 
    while minPoints <= maxPoints: 
     x_ = (targetFunc(minPoints)[0][0]) 
     y_ = (targetFunc(minPoints)[1]) 
     length = findLength(x_, y_) 

     print('Length of the curve of the function %s ' % targetFunc.__name__) 
     print("#POINTS  LENGTHS") 
     print(" %f    %.4d" % (minPoints, length) ) 

     minPoints = minPoints * 2 


def findLength(xs,ys): 
    xVal = np.array(xs) 
    yVal = np.ndarray(ys) 
    length = np.sqrt((xVal - (xVal-1))**2 + (yVal - (yVal - 1))**2) 
    return length 


def xSinx(numPoints): 
    MIN = -20 
    MAX = 20 
    xValues = np.linspace(MIN, MAX, numPoints) 
    yValues = xValues * np.sin(xValues) 

    return xValues, yValues 


def halfCircle(numPoints): 
    MIN = -5 
    MAX = 5 
    xValues = np.linspace(MIN, MAX, numPoints) 
    yValues = np.sqrt(25 - xValues ** 2) 

    return xValues, yValues 


def fractionalPowers(numPoints): 
    assert type(numPoints) is int and numPoints > 1, "invalid numPoints" 
    MIN = 0 
    MAX = 100 
    xValues = np.linspace(MIN, MAX, numPoints) 
    yValues = np.array(xValues**0.25 + (xValues**(1/3)) + np.sqrt(xValues)) 

    return xValues, yValues 
+0

можно определить функции, но не выполнять их. – furas

ответ

-1

Я не знаю, как вы используете свой кода, но если вы просто запустили свой скрипт, как вы указали, вы не получите никакого результата. Ваш скрипт определяет набор функций, но не вызывает их.

Для запуска findLength(), вы можете добавить следующий код в нижней части сценария:

xdata = [0, 1, 2] 
ydata = [3, 2, 6] 

result = findLength(xdata, ydata) 

print "The result is: %d" % result 

или еще лучше:

if __name__ == "__main__": 
    xdata = [0, 1, 2] 
    ydata = [3, 2, 6] 

    result = findLength(xdata, ydata) 

    print "The result is: %d" % result 
+0

Вы должны спросить, но вы не понимаете вопроса – eyllanesc

+0

@eyllanesc: Я понимаю, что tkim задавал вопрос о том, как запускать код Python. Я обратился к этому в своем ответе (в отличие от решения его/ее проблемы для него/нее). Не могли бы вы объяснить, почему вы чувствуете, что я не понимаю первоначальный вопрос? –