Julia Language 11

[Julia] 텍스트 파일(.txt)에 데이터 쓰고 읽기

※ 다음 링크에서 줄리아 프로그래밍과 관련한 글 목록을 확인하실 수 있습니다. Julia 프로그래밍 관련 글 목록 텍스트 파일 쓰기 using Printf using Dates savefilename = "text.txt" fid = open(savefilename, "w") a = Array(1:10) println(fid, "date: ", Dates.today()) println(fid, "time: ", Dates.Time(Dates.now())) println(fid, "") println(fid, "="^80) println(fid, ">> Frequency Settings") println(fid, "a: ", a) @printf(fid, "pi: %0.8f", pi) close(fid) J..

Julia Language 2021.05.13

[Julia] array와 scalar 간의 대입연산 (no method matching)

※ 다음 링크에서 줄리아 프로그래밍과 관련한 글 목록을 확인하실 수 있습니다. Julia 프로그래밍 관련 글 목록 문제: Singleton Array를 배열 요소에 대입하고자 할 경우 Julia로 기존에 선언한 array에 singleton array를 대입할 때 "no method matching" 에러가 발생한다. 예를 들어, 아래와 같은 경우를 생각해보자. 아래 코드에서 x라는 complex array를 미리 선언하고 x의 첫 번째 성분에 Gaussian noise를 더하려고 한다. 이때, noise는 설명을 위해 singleton array로 생성하였다. 참고로 randn 함수는 항상 array 형태로 출력을 주기 때문에 하나의 랜덤값만을 생성하였다하더라도 이는 scalar가 아닌 array로 정..

Julia Language 2021.05.13

[Julia] 파일 시스템 기초

※ 다음 링크에서 줄리아 프로그래밍과 관련한 글 목록을 확인하실 수 있습니다. Julia 프로그래밍 관련 글 목록 home directory 확인 -> homedir() working directory 확인 -> pwd() working directory 변경 -> cd("your path") ex) cd("D:\\myfolder\\test") \\ 대신 / 사용 가능 working directory를 home directory로 변경 -> cd() directory내 파일 및 폴더 리스트 확인 -> readdir("your path") ex) readdir(pwd()) 문자열 벡터 형태로 반환 directory 만들기 -> mkpath("your path") 파일/폴더 이동 -> mv("src", "d..

Julia Language 2021.05.11

[Julia] 기초 문법 공부 - 산술 연산 관련 함수

※ 다음 링크에서 줄리아 프로그래밍과 관련한 글 목록을 확인하실 수 있습니다. Julia 프로그래밍 관련 글 목록 본 포스트는 이곳의 내용을 재정리하였음을 미리 알려 드립니다. 반올림/올림/내림/버림 함수 동작 round(x) x의 반올림 floor(x) x로부터 음의 무한대 방향으로 가장 가까운 정수 리턴 ceil(x) x로부터 양의 무한대 방향으로 가장 가까운 정수 리턴 trunc(x) x로부터 0의 방향으로 가장 가까운 정수 리턴 round(T, x), floor(T, x), ceil(T, x), trunc(T,x) 출력 형태를 T로 지정 (ex, round(Int16, 2.1)) 몫/나머지/Modulo/최대공약수/최소공배수 함수 동작 div(x, y) x/y의 몫 연산 ("x \div y"와 동일..

Julia Language 2021.05.11

[Julia] 기초 문법 공부 - 주요 연산자들

※ 다음 링크에서 줄리아 프로그래밍과 관련한 글 목록을 확인하실 수 있습니다. Julia 프로그래밍 관련 글 목록 Julia의 연산자 종류 줄리아에서는 크게 6가지 유형의 연산자가 존재한다. 산술 연산자 (Arithmetic Operators) 비트 연산자 (Bitwise Operators) 논리 연산자 (Logical Operators) = 불리언 연산자 (Boolean Operators) 대입 연산자 (Assignment Operators) = 업데이팅 연산자 (Updating Operators) 벡터 도트 연산자 (Vectorized dot(.) Operators) 관계 연산자 (Relational Operators) = 비교 연산자 (Comparison Operators) 산술 연산자 산술 연산자..

Julia Language 2021.04.19

[Julia] 기초 문법 공부 - 문자열을 다루기에 유용한 함수들

※ 다음 링크에서 줄리아 프로그래밍과 관련한 글 목록을 확인하실 수 있습니다. Julia 프로그래밍 관련 글 목록 ※ 아래의 글을 먼저 보시면 이해에 더 도움이 됩니다. [Julia] 기초 문법 공부 - 문자와 문자열의 모든 것 이전 글에서 다루었던 다음 함수들에 대한 예제 코드는 생략한다. length 함수: 문자열의 길이를 반환 sizeof 함수: 문자열의 크기를 바이트 단위로 반환 repeat 함수: 입력된 문자열을 원하는 수만큼 반복 (문자열 뿐만 아니라 어레이에도 동작) replace 함수: 문자열 내 특정 패턴을 내가 원하는 패턴으로 치환 string 함수: 입력 인자를 문자열로 변환. 입력된 숫자, 문자를 문자열로 변환하며 여러 문자열을 입력 받았을 경우 문자열들을 병합함. parse 함수 ..

Julia Language 2021.04.17

[Julia] 기초 문법 공부 - 문자와 문자열의 모든 것

※ 다음 링크에서 줄리아 프로그래밍과 관련한 글 목록을 확인하실 수 있습니다. Julia 프로그래밍 관련 글 목록 선언하기 문자(Character)는 작은따옴표(' ')로 감싼다. 다른 언어와 마찬가지로 당연히 문자 하나만 입력받을 수 있다. typeof(A)는 A의 데이터 타입을 확인하는 연산자이다. 1 2 3 4 julia> str = "C" "C" julia> typeof(chr) Char cs 문자열(String)은 큰 따옴표(" ")로 감싼다. 문자의 길이와 무관하게 큰 따옴표로 감싸면 무조건 문자열로 인식한다. 1 2 3 4 julia> str = "C" "C" julia> typeof(str) String cs 여러 줄에 문자열 쓰기 아래와 같이 """ 문자열 """ 방식을 사용한다. 이때,..

Julia Language 2021.04.17

[Julia] 줄리아의 코딩 규약 (Coding Conventions)

※ 다음 링크에서 줄리아 프로그래밍과 관련한 글 목록을 확인하실 수 있습니다. Julia 프로그래밍 관련 글 목록 코딩 규약은 문법(syntax)과는 다른 개념이다. 문법은 반드시 지켜야 하지만 코딩 규약은 지키지 않아도 에러가 발생하지 않고 프로그래머의 의도대로 잘 동작한다. 그러나 프로그램은 일반적으로 혼자 만들지 않는다. 그리고 블로그와 github 등을 통해 코드를 공유하기 때문에 서로 제각각 다른 스타일로 코드를 짠다면 가독성이 떨어지는 문제가 있다. 따라서 코드의 일관성 유지를 위해 대부분의 언어는 저마다의 코딩 규약을 갖고 있다. 줄리아의 코딩 규약은 다음과 같다. 변수는 항상 소문자만 사용하며 snake_case를 기본으로 한다. 그렇지만 밑줄 기호('_')는 꼭 필요할 때만 사용한다. m..

Julia Language 2021.04.17

[Julia] JuliaPro/Juno IDE의 기초적인 사용방법

※ 다음 링크에서 줄리아 프로그래밍과 관련한 글 목록을 확인하실 수 있습니다. Julia 프로그래밍 관련 글 목록 본 포스트는 지속적으로 업데이트 됩니다. 부족한 부분이 있으면 댓글에 남겨주세요. 처음 실행하기 줄리아프로를 처음 실행하면 아래와 같은 창이 보일 것이다. (아마도??) 만약 REPL에서 코드를 테스트해보고 싶다면 REPL에서 enter를 눌러 줄리아 머신을 활성화 한 후 코딩을 하면 된다. 여기서는 바로 프로젝트를 생성하고 파일을 저장하여 실행하는 방법을 다루기로 한다. 파이썬 실행을 위해 .py 파일이 필요하 듯 줄리아 실행을 위해서는 .jl파일이 필요하다. .jl파일을 어느 디렉토리에 만들지 선택하기 위해 Add folders라는 파란색 버튼을 눌러준다. 본인이 원하는 폴더를 선택하면 ..

Julia Language 2021.04.16

[Julia] Julia 개발환경 구축하기 (Juno, JuliaPro, Jupyter Notebook, Cocal.com)

※ 다음 링크에서 줄리아 프로그래밍과 관련한 글 목록을 확인하실 수 있습니다. Julia 프로그래밍 관련 글 목록 IDE 선택하기 MATLAB, Python, R 성공 비결은 언어 자체의 기능성도 좋지만 훌륭한 IDE가 존재하기 때문이다. Python을 python shell에서만 쓸 수 있다면 제 아무리 확장성이 뛰어나고 많은 라이브러리가 있다 하더라도 쓰는 사람이 그리 많지 않을 것이다. (많은 사람이 쓰지 않는 언어가 많은 라이브러리를 가졌다는 가정이 모순이기는 하지만..) 때문에 언어의 성공에 있어 활용하기 좋은 IDE가 있느냐 여부는 매우 중요하다. 어디선가 훌륭한 IDE 없이 코딩하는 것을 신발을 신지 않고 달리는 것에 비유하는 것을 본적이 있다. 나는 그말에 매우 동감하는 바이다. 그렇다면 ..

Julia Language 2021.04.15