我需要编写一些可以计算变量的代码,该变量显示消费者为其笔记本电脑购买组件的偏好。优惠更改为税(T
)以及价格对人们购买的重要性(PriceI
)。我需要同时包含T
和PriceI
来找到购买笔记本电脑的人的意愿(W
)。滑块中的税费变化范围从50 Cent
到$6
。我希望将变量W
保持在1 to 2
的范围内,其中1
是税时的默认值,最小值为50 cent
。
所以2 variables
对W
有影响:
50<T<600
0.6 < PriceI < 9
因为我想要1<W<2
,我认为如果我首先将所有数据除以它们的最大值来归一化所有数据,那么为了找到1到2之间的分数,我将分子设为小于4,分母小于2,希望结果在1到2之间:
to setup-WCalculator
ask consumers [
set PP ((PriceI / 9) * 2)
set TT ((T / 600) * 4)
set W TT / PP
]
end
然而,Netlogo使PP
和TT
都为零,而它们应该是0.15的小值!找到W的逻辑是否有意义?
谢谢,
答案 0 :(得分:3)
归一化通常使用诸如
之类的公式来完成TT = (T - Tmin) / (Tmax - Tmin)
或在这里
TT = (T - 50) / (600 - 50)
这给出了0到1之间的归一化值,因为T的范围在50到600之间。如果你想让TTT的范围在1和x之间,其中x是&gt; 1,然后你可以设置
TTT = 1.0 + TT * (x - 1.0)
所以
TTT = 1.0 + TT * (4.0 - 1.0) = 1.0 + TT * 3.0
将为您提供1到4之间的值。
HTH