我正在尝试使用最小值,最佳值和最大值为变量分配权重。例如,我有一个计算的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),然后仍然计算这个特定变量的线性权重。有更好的方法吗?
答案 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);