1

我需要编写一些代码来计算一个变量,该变量显示消费者购买笔记本电脑组件的偏好。偏好会随着税收 ( 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 的逻辑是否有意义?谢谢,

4

1 回答 1

3

归一化通常使用公式完成,例如

TT  = (T - Tmin) / (Tmax - Tmin)

或在这里

TT = (T - 50) / (600 - 50)

这给出了一个介于 0 和 1 之间的归一化值,因为 T 介于 50 和 600 之间。如果您希望 TTT 介于 1 和 x 之间,其中 x > 1,那么您可以设置

TTT = 1.0 + TT * (x - 1.0)

所以

TTT = 1.0 + TT * (4.0 - 1.0) = 1.0 + TT * 3.0

会给你一个介于 1 和 4 之间的值。

于 2017-07-24T23:41:09.950 回答