Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netlogo 将列表中的单个元素相乘_Netlogo - Fatal编程技术网

Netlogo 将列表中的单个元素相乘

Netlogo 将列表中的单个元素相乘,netlogo,Netlogo,我在Netlogo中有一个列表 let your-vec list xcor ycor 我希望将第一个元素乘以a,第二个元素乘以b 我可以使用map实现两者的混合 set new-vec map [ ? * a ] new-vec 但我不知道NetLogo中的每个乘法方法 例如: 向量-[x1-x2] 多重化向量[AB] 所需结果-[a*x1 b*x2] 谢谢。完全误解了你的问题,对不起 使用地图,您走在正确的轨道上map可以将多个列表作为参数并调用多参数报告器,因此您可以执行以下操作:

我在Netlogo中有一个列表

  let your-vec list xcor ycor
我希望将第一个元素乘以a,第二个元素乘以b

我可以使用map实现两者的混合

set new-vec map [ ? * a ] new-vec
但我不知道NetLogo中的每个乘法方法

例如:

向量-[x1-x2]

多重化向量[AB]

所需结果-[a*x1 b*x2]


谢谢。

完全误解了你的问题,对不起

使用
地图
,您走在正确的轨道上
map
可以将多个列表作为参数并调用多参数报告器,因此您可以执行以下操作:

(map * vec1 vec2)
或扩展版本:

(map [?1 * ?2] vec1 vec2)
如果其他人觉得有用,请保留以下内容:

退房
reduce
使用给定的报告器将列表的元素组合在一起。所以对于乘法:

reduce * [ 1 2 3 4 ]
reduce
将执行
1*2
,然后是该
*3
的结果,然后是该
*4
的结果。所以你得到了
((1*2)*3)*4)
。在您的情况下,您可以像
reduce*您的vec
那样使用它

也就是说,因为你只需要处理二维向量,你就可以

first your-vec * last your-vec
同样。

可以通过以下方式实现: “替换项目”


请检查上面的例子,这使它更清楚。我不确定你的代码是否在通信中。我想你可能一直在试图回答另一个问题。这似乎不相关。如果是这样的话,你可以删除这个答案。如果我不在替换项前使用show,它会起作用吗?一般来说,在大型程序中,我们如何替换列表中的项目。谢谢
show replace-item 2 [2 7 4 5] 15
=> [2 7 15 5]