2017-12-14 11 views
1

줄리아는 하나의 색인으로 다른 색인을 참조 할 수 있습니까?

[(i,j) for i=1:3, j=1:3 if i>=j] 

는 교체 할 수 있습니다?

[(i,j) for i=1:3, j=1:i] 
ERROR: UndefVarError: i not defined 

또는 유일한 방법은 무엇입니까?

+3

당신은'[(i, j) for i = 1 : 3 for j = 1 : i]'라고 쓸 수 있으며 결과는 벡터가 될 것입니다. 봐. –

+0

. i = 1 : 3, j = 1 : 2 == [(i, j)는 i = 1 : 3, j는 1 : 2로 가정했다. 고마워. – ShpielMeister

+0

귀하의 의견을 알려 주시면 – ShpielMeister

답변

2

다음과 같은 변수에 대한 표현의 첫 번째 변수를 사용하려면 두 for의 사용해야합니다 : 반대로, 항상 벡터 될 것 같은 상황에서, 그러나 결과를

[(i,j) for i=1:3 for j=1:i] 

을 예

[(i,j) for i=1:3, j=1:3] 

매트릭스가 생성 될 때.

키워드는 항상 if을 사용하여 결과를 필터링하므로 항상 벡터가 생성됩니다.

줄리아 설명서는 여기에서이 주제를 다루고 있습니다. https://docs.julialang.org/en/latest/manual/arrays/#Comprehensions-1.