2014-10-30 188 views
1

我在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]

感謝。

回答

0

燦與實現: 「替代項目」

show replace-item 2 [2 7 4 5] 15 
=> [2 7 15 5] 
+0

我想你可能一直在試圖回答一個不同的問題。這似乎不相關。如果是這種情況,你可以刪除這個答案。 – 2014-10-31 05:59:43

+0

如果我不使用替換項目前的演出是否有效? 一般來說,在一個大程序中,我們如何替換列表中的一個項目。謝謝。 – user1659936 2014-11-15 09:02:53

3

完全誤解了你的問題,對不起!

你在正確的軌道上mapmap可以採取多個列表作爲參數,並調用多參數記者,所以你可以做:

(map * vec1 vec2) 

或擴展版本:

(map [?1 * ?2] vec1 vec2) 

保持低於應別人發現它有用:

退房reducereduce使用給定的記者將列表的元素結合在一起。因此,對於乘法:

reduce * [ 1 2 3 4 ] 

reduce會做1 * 2,然後將該* 3,然後將該* 4的結果的結果。所以你得到(((1 * 2) * 3) * 4)。在你的情況下,你會使用它像reduce * your-vec

這就是說,因爲你只需用二維向量的工作,你可以做

first your-vec * last your-vec 

爲好。

+0

請檢查上面的例子中,這使得它更加清晰。我不確定你的代碼是否對應。 – 2014-10-30 18:45:43