为互惠函数生成点集

时间:2016-05-26 19:49:27

标签: python

大家。

我正在编写一个函数来生成用于绘制倒数函数的点。这是代码:

def genRecp(xValrange=3, shiftHoriz=0, shiftVert=0, vertStrech=1, horizStrech=1):
    #setup variables for processing
    xrangeP = xValrange
    xrangeN = xrangeP - xrangeP * 2
    vals = []
    #start adding values to array
    while xrangeN <= xrangeP:
        curX = xrangeN
        if curX == 0:
            xrangeN += 1
            continue
        #generate y values
        curY = vertStrech * (1 / (horizStrech * curX - shiftHoriz)) + shiftVert
        newVal = [curX, curY]
        #add value to array
        vals.append(newVal)
        #LOOOOOOP!
        xrangeN +=1
    return vals

但是,当我执行以下命令时,代码似乎很好:

genRecp()

我收到这个输出:[[-3, -1], [-2, -1], [-1, -1], [1, 1], [2, 0], [3, 0]]这显然不是一个互惠函数的基点数组。

我做错了什么?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您的默认参数值都是整数,而计算curY的行使用整数除法/。这会将您的计算值舍入为整数。

做一些事情使你的值非整数,即浮点,通过在float()类型转换函数中包装分子和分母来强制你的值浮动。或者将该行中的1常量更改为1.0