링크의 내용을 공부하며 제멋대로 번역한 내용입니다.
SIMPLE FOR LOOP 간단한 반복문
반복문은 다음과 같이 파이썬에 end가 붙은 요상한 짬뽕 방법이다.
for iterator in range
excute_statements(iterator)
end
예를 들어서 100,000개의 (1/x)^2을 더하면 다음과 같다.
x=0
for k in 1:100000
x = x + (1/k)^2
end
이 예시에서 우리가 알 수 있는 것은, 포문에서 반복되는 정수는 1:100000 따위로 콜론을 사용하면 되고, 제곱수는 ^를 사용하면 된다는 것이다.
NESTED FOR LOOPS 다중? 중첩? 반복문
다른 언어에 비해 신기한 구문을 가지고 있다. 배워왔던 언어들을 가지고 반복문을 여러겹 겹쳐 사용했을때는 보통 아래와 같다.
for 1 in 1:3
for j in 1:3
print("i=", i, "j=", j, "\n")
end
end
그런데 줄리아는 다음과 같이 사용할 수 있다.
for i in 1:3, j in 1:3
print("i=", i, "j=", j, "\n")
end
한줄로 만들어 버리는 매-직.
i=1j=1
i=1j=2
i=1j=3
i=2j=1
i=2j=2
i=2j=3
i=3j=1
i=3j=2
i=3j=3
직접 구동을 해보니, 나중에 오는 j문자가 먼저 반복한다. 위와 같은 결과를 보면 알 수 있듯이!
ARRAY COMPREGENSIONS AND GENERATORS 변수 정의 시 루프문
어레이도 깔삼하게 정의 가능하다.
v = [1/n^2 for n=1:100000]
x = sum(v)
이렇게 대괄호로 정의할 경우 v라는 어레이를 저장하고, 합을 구해 x에 저장한다. 반면 괄호로 정의할 경우 조금 다르다.
gen = (1/n^2 for n=1:100000)
x = sum(gen)
Generator라는 객체를 생성한다. 대괄호를 사용하는 경우 어레이를 저장하는 메모리를 사전에 할당하는데, 제너레이터는 그렇지 않다. 필요한 경우에만 계산하게 된다.
반응형
'Engineer > Juila' 카테고리의 다른 글
[Julia] 기본1 - 5. 행렬 가지고 놀기! (0) | 2021.10.11 |
---|---|
[Julia] 기본1 - 4. 함수 사용하기 (0) | 2021.10.11 |
[Julia] 기본 - 2. VSCode로 줄리아 시작하기 (0) | 2021.10.07 |
[Julia] 파이썬 마냥 가상환경 구축해서 사용하기 (0) | 2021.10.05 |
[Julia] 기본 - 1.줄리아 언어로 수치해석 하기 (0) | 2021.10.05 |
댓글