【发布时间】:2016-12-20 03:05:49
【问题描述】:
我正在尝试建立一个简单的选民模型。我需要构建一个矩阵,其值由函数给出。然后聚合它们(在本例中为简单平均值)以确定结果(简单 1 或 0)。然后确定结果与平均值的偏差。我被卡住了,因为每当我的 if 语句产生 0 时,它都会被减法视为 1。请帮忙。 *奖励:如果有一种方法可以为矩阵的每第四行更新一个变量,并让该值结转以更好地模拟和选举,那将不胜感激。 先感谢您, 查尔斯
m = 3
n = 5
p := RandomInteger[]
c = Table[p, {i, m}, {j, n}]
t = Total[c, {2}]
avg = t/n
Function[If[0.5 <= # <= 1, v = 1, v = 0]] /@ avg
d = Abs[v - avg]
Sum[d, i]
【问题讨论】:
-
您的
Function为v中的每个项目重置avg,因此它以最后一个值结束。这是有意的还是您希望v成为一个列表? -
是的,我希望它分别计算与 v 中每个值的 0,1 近似值的距离。输出向量 d 像我预期的那样是 1x3,但差异计算不正确。
-
你可以简单地做
v=Round[avg] -
感谢它的工作原理,而且更干净。
标签: model wolfram-mathematica mathematical-optimization mathematical-expressions