我在Netlogo中有一個列表。乘以列表中的單個元素
let your-vec list xcor ycor
我希望第一個元素乘以第二個元素乘以b。
我可以使用map實現muilpltipcation。
set new-vec map [ ? * a ] new-vec
但我不知道NetLogo中的每個乘法方法。
例如:
vec- [X1 X2]
muliptication矢量[A B]
結果desired- [A * X1的b * X2]
感謝。
我在Netlogo中有一個列表。乘以列表中的單個元素
let your-vec list xcor ycor
我希望第一個元素乘以第二個元素乘以b。
我可以使用map實現muilpltipcation。
set new-vec map [ ? * a ] new-vec
但我不知道NetLogo中的每個乘法方法。
例如:
vec- [X1 X2]
muliptication矢量[A B]
結果desired- [A * X1的b * X2]
感謝。
燦與實現: 「替代項目」
show replace-item 2 [2 7 4 5] 15
=> [2 7 15 5]
完全誤解了你的問題,對不起!
你在正確的軌道上map
。 map
可以採取多個列表作爲參數,並調用多參數記者,所以你可以做:
(map * vec1 vec2)
或擴展版本:
(map [?1 * ?2] vec1 vec2)
保持低於應別人發現它有用:
退房reduce
。 reduce
使用給定的記者將列表的元素結合在一起。因此,對於乘法:
reduce * [ 1 2 3 4 ]
reduce
會做1 * 2
,然後將該* 3
,然後將該* 4
的結果的結果。所以你得到(((1 * 2) * 3) * 4)
。在你的情況下,你會使用它像reduce * your-vec
。
這就是說,因爲你只需用二維向量的工作,你可以做
first your-vec * last your-vec
爲好。
請檢查上面的例子中,這使得它更加清晰。我不確定你的代碼是否對應。 – 2014-10-30 18:45:43
我想你可能一直在試圖回答一個不同的問題。這似乎不相關。如果是這種情況,你可以刪除這個答案。 – 2014-10-31 05:59:43
如果我不使用替換項目前的演出是否有效? 一般來說,在一個大程序中,我們如何替換列表中的一個項目。謝謝。 – user1659936 2014-11-15 09:02:53