Show pageOld revisionsBacklinksFold/unfold allBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ======소개====== julia는 python의 편리함과 c의 속도를 두루 갖춘 언어이다. 거기에 기존의 python의 라이브러리를 불러온다거나, matlab파일을 불러오는 작업도 패키지 다운로드를 통해서 가능하다. 대신 python 라이브러리를 그대로 불러와서 사용한다면, 속도는 기대하지 말자... ======목차====== =====설치===== julia는 https://julialang.org/ 에서 받을 수 있다. 설치시 기본 설치경로는 C:\Users\"사용자 이름"\AppData\Local\Julia-1.1.0 이다. 1.1.0은 이 글 작성 기준으로 최신버전이며, 업데이트시 숫자가 바뀔 수 있다. 참고 사항으로 AppData는 기본적으로 숨겨져 있는 폴더이므로, 폴더 옵션에서 숨김 파일 표시를 하여 표시를 하든지, 경로명을 어딘가 저장해 둔 뒤 직접 디렉토리로 접근하도록 하자. =====전용 에디터===== julia 코드 작성을 위해서는 atom을 설치하면 된다. 정확히 얘기하면 julia 전용 에디터는 아니다. 범용으로도 쓸 수 있다. 다만, julia 코드 작성을 위한 툴을 제공하는 것이 현재는 atom 밖에 없을 뿐이다. atom은 https://atom.io/ 에서 다운 받을 수 있다. atom도 julia와 마찬가지로 AppData에 설치된다. 참고사항으로는 설치 시에 next 버튼을 누른다든지, 약관에 I agree를 체크할 일이 없다. atom을 깔았다고 끝난 것이 아니다. atom의 설치가 끝난 후, atom을 실행한 후, Settings 탭에서 Install 패널로 들어간다. 그 후에, uber-juno 를 검색하여 설치해준다. 설치가 끝나면 메뉴 항목에 julia가 보일 것이다. 거기서 start julia를 클릭해주면 밑에 REPL 창에 julia가 실행된 모습이 보인다. uber-juno의 기능인지 atom의 고유기능인지 모르지만(아마 uber-juno 패키지의 기능일 것이라 예상한다) 한 라인에 대고 shift+enter를 해주면 그 라인의 실행 결과를 편집창에서 즉각적으로 보여준다. 코드 전체의 실행결과를 알고 싶다면, ctrl+shift+enter를 눌러주면 REPL창에 실행결과가 출력된다. =====패키지 설치 방법===== 패키지 설치는 <Code:Julia> using Pkg Pkg.add("받을 패키지명") </Code> 을 편집창에서 타이핑한 후 실행해주면 된다. 혹은 julia창에서 직접 <Code:Julia> using Pkg </Code> <Code:Julia> Pkg.add("받을 패키지명") </Code> 이런 식으로 한 줄씩 입력해도 된다. =====패키지 사용===== 위의 예에서 이미 예상했을 수도 있지만, 받은 패키지는 using 으로 사용할 수 있다. <Code:Julia> using 패키지명 </Code> =====예시===== 수치해석으로 근을 구하는 패키지 중에 NLsolve 라는 패키지가 있다. 이를 사용하기 위해서는 우선 <Code: Julia> using Pkg Pkg.add("NLsolve") </Code> 로 패키지를 받아준 후 <Code: Julia> using NLsolve </Code> 라고 해주면 된다. using 대신 import를 써도 무방하지만, import로 사용하게 되면 패키지명.함수명 으로 함수에 접근을 해야한다. using을 사용하면 함수명만으로도 패키지 안의 함수에 접근할 수 있다. 다만 패키지를 만든 사람이 패키지명 없이 그 함수를 사용할 수 있게끔 만들어야 한다. 만약 패키지명 없이 사용할 수 없도록 만들어져 있다면, C:\Users\사용자명\.julia\packages 내에서 설치한 패키지를 찾아 .jl 형식의 소스코드를 열어서 수정해서 사용해도 될 것이다. <Code:Julia> using Pkg Pkg.add("LinearAlgebra") </Code> 선형대수 계산을 하기 위해서는 LinearAlgebra 패키지를 설치해준 후 using을 해주어야 한다. <Code:Julia> using LinearAlgebra A = [1 2; 3 4]; lambda, vec = eigen(A); print(lambda) print(vec) </Code> $$ A = \begin{pmatrix} 1 & 2\\ 3 & 4\\ \end{pmatrix} $$ 를 만든 후 eigen() 함수로 고유값과 고유벡터를 구하고 각각을 출력하는 코드이다. <Code:Julia> A = [1 2; 3 4]; </Code> 는 <Code:Julia> A = [1 2 3 4]; </Code> 로 해도 똑같은 결과를 얻는다. 세미콜론(;)의 경우 터미널 환경에서 출력값을 보이지 않기 위해 사용하는 것이다. 고유 벡터만을 구하고 싶다면 eigvecs() 함수를, 고유값만을 얻고 싶다면 eigvals() 함수를 사용하면 된다. 첫번째 고유벡터만을 얻고 싶다면 eigvecs(A)[:,1]을 하면 된다. 왼쪽 고유 벡터를 얻고 싶다면 inv(eigvecs(A))를 하면 된다. 행렬 곱의 경우 <Code:Julia> A = [1 2; 3 4]; B = [2 3; 4 5]; M = A*B </Code> 하면 $$\begin{pmatrix} 1 & 2\\ 3 & 4 \end{pmatrix} \begin{pmatrix} 2 & 3\\ 4 & 5 \end{pmatrix} = \begin{pmatrix} 10 & 13\\ 22 & 29 \end{pmatrix} $$ 로 일반적인 행렬곱의 결과가 나온다. 전치(Transpose)는 A' 으로 쓴다. 무작위 추출의 경우 <Code:Julia> using Pkg Pkg.add("StatsBase") </Code> 로 StatsBase 패키지를 설치한 후 using을 해주어야 한다. <Code:Julia> using StatsBase x = 1:10; sample(x) </Code> 하면 1부터 10까지 공차가 1인 등차수열이 x에 들어가고 sample(x)를 하면 x의 요소를 균일한 가중치로 무작위 복원 추출을 한다. 만약 가중 복원 추출을 원하면 <Code:Julia> using StatsBase x = 1:10; weights = rand(10); # [0, 1) 의 범위에서 난수 10개 생성 후 1차원 배열로 만듦 sample(x, Weights(weights)) </Code> 이렇게 코드를 짜면 된다. 여러 개의 표본을 균일한 가중치로 뽑고 싶으면 <Code:Julia> using StatsBase x = 1:10 sample(x,n) </Code> 으로 n에 원하는 숫자를 넣으면 된다. 비균일 가중치로 여러개를 뽑고 싶다면 <Code:Julia> using StatsBase x = 1:10; weights = rand(10); # [0, 1) 의 범위에서 난수 10개 생성 후 1차원 배열로 만듦 sample(x, Weights(weights), n) </Code> 을 하면 된다. 마지막으로 비복원 추출을 원하면 <Code:Julia> using StatsBase x = 1:10; weights = rand(10); # [0, 1) 의 범위에서 난수 10개 생성 후 1차원 배열로 만듦 sample(x, replace = false) </Code> 이렇게 replace = false 를 넣어주면 된다. ======참조====== * https://en.wikibooks.org/wiki/Introducing_Julia/Modules_and_packages 프로그래밍/julia.txt Last modified: 2026/03/24 16:19by admin