为可变Python /线性方程分配权重

时间:2015-05-11 20:02:50

标签: python algorithm linear-equation

我正在尝试使用最小值,最佳值和最大值为变量分配权重。例如,我有一个计算的DNA序列的温度(Tm)浮点数(基于NN连接算法计算)。我只对落在特定温度范围内的序列感兴趣。 opt = 61,min = 58,max = 64。我想编写两个线性方程,其中温度变量的权重可用于将来的比较(在权重变量本身内)。例如,如果Tm = 61,这是最理想的(最佳),因此它应该接收100的权重.Tm为58(最不理想)将具有10的权重,就像64的Tm(最不希望的)也具有重量为10。

伪代码:

def Tm_weight(Tm):
    if Tm == 61:
        weight = 100
    elif Tm > 61:
        weight = ((-30*(Tm)) + 1930)
    else:
        weight = ((30*(Tm)) - 1730)
    return weight 

这会给我所需的重量,但是我正在寻找一种更通用的方法来做到这一点,而不是实际提供价值。我希望使用argparse(所以我可以从命令行更改选项(For opt,min和max),然后仍然计算这个特定变量的线性权重。有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

I was looking for something more universal like this, however I still don't know if there is a better/more efficient way to do this. ```

    trnek.set(pozTravcex,0,pozTravcez);
    sidro.set(pozTravcex,100,pozTravcez);
    sidro.normalize();
    plovc.set(trnek,sidro);
    scene.updateMatrixWorld();
    visinaTravce = plovc.intersectObjects(scene.children,true);
    var point=0;
    for (var j=0; j < visinaTravce.length; j++){
        if (visinaTravce[j].object.name == "tla"){
                pozTravcey = visinaTravce[j].distance; //plovc.ray.origin.distanceTo(visinaTravce[0].point);
            point = visinaTravce[j].point;
            console.log("razdalja je: ",visinaTravce[j].point.y);