2014-10-30 2 views
1

Netlogo에 목록이 있습니다.목록의 개별 요소 곱하기

첫 번째 요소에 a 및 두 번째 요소를 b로 배가하고자합니다.

지도를 사용하여 두 가지 모두의 muplplipation을 얻을 수 있습니다.

set new-vec map [ ? * a ] new-vec 

그러나 NetLogo에서 각 개별 곱셈 방법을 알지 못합니다. 예

:

vec- [X1의 X2]

muliptication 벡터 [A, B]는 * X1 B 형 * 2 배]

감사 desired-

결과.

답변

0

캔이 달성 : "대체 항목을"

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

다른 질문에 답하려고했을 수도 있습니다. 이것은 적합하지 않습니다. 이 경우 해당 답변을 삭제할 수 있습니다. –

+0

replace-item 앞에 show를 사용하지 않으면 작동합니까? 일반적으로 큰 프로그램에서는 목록의 항목을 어떻게 대체합니까? 감사. – user1659936

3

귀하의 질문을 완전히 잘못 해석했습니다.

오른쪽 트랙에 map이 있습니다. map는 인수로 여러 목록을 다중 매개 변수 기자를 호출, 그래서 당신은 할 수 있습니다 :

(map * vec1 vec2) 

또는 확장 된 버전 :

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

유지가 아래에 다른 사람이 유용하게 찾을해야합니다

reduce을 확인하십시오. reduce은 주어진 기자를 사용하여 목록의 요소를 하나로 결합합니다.

reduce * [ 1 2 3 4 ] 

reduce는 그 * 3* 4의 결과의 결과를 1 * 2을 할 것이다 : 곱셈 그래서. 따라서 (((1 * 2) * 3) * 4)이됩니다. 귀하의 경우에는 reduce * your-vec처럼 사용하십시오. 당신의 두 차원 벡터 작업 이후 말했다

, 당신은 단지

first your-vec * last your-vec 

도 할 수 있습니다.

+0

더 명확하게 위의 예를 확인하시기 바랍니다. 귀하의 코드가 서신인지 확실하지 않습니다. –