프로그래밍/Julia 21

이진 파일을 읽어서 16진수로 보여주는 HexView 소스 with Julia

Julia 언어 소스: ## Filename: testHexView_02.jl ## ## Purpose: Show the hexadecimal codes of the given binary file. ## ## Set Env: set path=d:\julia;%path% ## Execute: julia testHexView_02.jl [filename] ## ## Date: 2013. 8. 4. function printUsage() @printf("Using: julia testHexView_02.jl [filename]\n") end function toHex(b) s = "" x1 = (b & 0xF0) >> 4 x2 = b & 0x0F if x1 > 9 s = s * char(int('A') + ..

Julia 언어로 평방근, 입방근, n제곱근 구하는 함수를 구현하고 테스트하기

음이 아닌 실수 A 의 평방근 sqrt(A) 를 구하는 Heron 의 방법: 반복함수 g(x) = (x + A/x) / 2 를 이용 실수 A 의 n제곱근 root(n, A) 를 구하는 Newton-Raphson 의 방법 반복함수 g(x) = ((n-1)*x + A/(x**(n - 1))) / n 를 이용 n = 2 인 경우에는 Newton-Raphson 의 방법이 Heron 의 방법과 동일하다. (참조. http://en.wikipedia.org/wiki/Newton's_method ) Julia 언어에는 지수 연산자 ^ 를 (밑수)^(지수) 의 형식으로 언어 자체에서 지원하고 있다. 하지만 차후 필요한 데가 있을 것 같아서 이와 유사한 n 제곱 함수와 n 제곱근 함수를 구현해 보았다. (참고로 Juli..

Julia 언어로 역삼각함수, 역쌍곡선함수 값을 구하는 예제

역삼각함수란 삼각함수의 역함수를 의미하고, 역쌍곡선함수란 쌍곡선함수의 역함수를 의미한다. 수학에서 sin 함수의 역함수는 arcsin 으로 표기되는데, Julia 언어에서는 asin() 함수로 구현되어 있다. # Filename: testArcSine.jl # # Execute: julia testArcSine.jl # # Date: 2013. 3. 7. # Copyright (c) pkim _AT_ scripts.pe.kr x = -0.9 y = asin(x) @printf("y = asin(%.1f) = %.9f\n", x, y) @printf("sin(y) = sin(%.9f) = %.1f\n", y, sin(y)) println() x = 1.1 u = acosh(x) @printf("u = ac..

감마함수(gamma function)의 값을 (유효수자 15자리 까지 정밀하게) 계산하는 Julia 언어 소스

Lanczos 알고리즘은 Stirlng 공식에 의한 알고리즘 보다 정밀하며, 십진수로 유효숫자 약 15자리 까지는 정확하게 계산해 준다. 단지 exp 함수를 이용하는 부분에서는 exp 함수의 구현에 따라 오차가 더 있을 수 있다. #!/usr/bin/env julia # Filename: testLanczos-01.jl # # An approximation for the gamma function by using the Lanczos algorithm # # Execute: julia testLanczos-01.jl # or # Execute: ./testLanczos-01.jl # # See: http://en.wikipedia.org/wiki/Lanczos_approximation # See:http..

조립제법(Horner의 방법) 예제 2 for Julia

다항식 p(x) 를 1차 다항식 ax - b 로 나눌 때의 몫과 나머지를 구하는 조립제법을 Python 언어로 구현해 보았다. 조립제법은 일명 Horner의 방법이라고도 불리우는데, 이는 x = a 에서 다항식 p(x)의 값 p(a)을 계산하는 가장 빠른 알고리즘이기도 하다. p(x) = (ax - b)q(x) + r 여기서 r은 나머지이며 r = p(b/a) 이다. 또 q(x)는 몫이다. [참고] * 온라인으로 조립제법 표 만들기 손으로 계산하는 조립제법 표 * 온라인으로 구하는 다항식의 도함수: 조립제법을 이용한 다항식의 도함수 아래의 소스파일은 파일 testSyntheticDivision.jl 을 수정한 것이다. python 대신 jython이나 IronPython 으로도 수정 없이 그대로 실행된다..

숫자 맞추기 게임 with Julia

Julia 언어로 숫자 맞추기 게임을 작성해 보았다.             sbuf = readline(STDIN) 은 컨솔에서 한 줄을 스트링으로 입력받는 부분이고,              guess = parse_int(sbuf) 은 입력받은 스트링을 정수로 타입변환하는 부분이다.소스 파일명: guessNumber01.jl##   Filename: guessNumber01.jl####   Purpose:  Interatice game guessing a given number. ##                 if CONDITION##                     ......##                 elseif CONDITION##                     ......##..

손으로 계산하는 긴자리 곱셈표 만들기 with Julia

초등학교 때 배우는 두 정수의 곱셈 계산표를 만들어 주는 Julia 소스이다. Python 언어에서는 // 가 정수 나눗셈 연산자이지만, Julia 언어에서는 // 가 분수를 표현할 때 쓰는 분자와 분모의 구분자이다. Julia 언어에서는 div(피제수, 제수) 가 정수 나눗셈에 쓰이는 함수이다. 즉 y = int64(floor(x / 10)) y = div(x, 10) 는 둘 다 정수 x 를 정수 10 으로 나눈 몫을 변수 y 에 저장하는 Julia 구문이다. ## Filename: makeMultTable.jl ## ## Print a multiplication table. ## ## Execute: julia makeMultTable.jl 230 5100 ## ## Date: 2013. 3. 5. ..

손으로 만드는 나눗셈 계산표 with Julia

다음은 초등학교에서 배우는 나눗셈 계산표를 만들어주는 Julia 소스 코드이다. 나눗셈 계산표를 완성하고 나서 약수, 배수 관계를 알려준다. ## Filename: makeDivisionTable.jl ## ## Purpose: Make a division table in a handy written form. ## ## Execute: julia makeDivisionTable.jl 12345 32 ## julia makeDivisionTable.jl 500210 61 ## ## Date: 2013. 3. 5. ## Author: pkim __AT__ scripts ((DOT)) pe ((DOT)) kr function printUsage() # println("Using: julia makeDivis..

삼각형 출력 예제를 통한 여러 가지 소스 비교 with Julia

콘솔에 삼각형 * * * * * * * * * * * * * * * ***************** 을 출력하는 Julia 소스 코드를 작성해 보자. 이런 소스 코드의 작성은 학원이나 학교에서 프로그래밍 입문자에게 과제로 많이 주어지는 것 중의 하나이다. 코끼리를 보거나 만진 사람들이 저마다 그 생김새를 말할 때 제각기 다르게 표현할 수 있듯이 이런 소스 코드의 작성도 알고 보면 얼마든지 많은 방법이 있을 것이다. 여기서는 쉬운 코드 부터 작성해 보고 차츰차츰 소스를 바꾸어 가면서 Julia 프로그래밍의 기초부분을 터득해 보기로 한다. 모든 소스 코드에서는 삼각형 출력 부분 담당 함수 printTriange()를 별도로 구현하였다. 우선 첫번 째 예제는 Julia 언어의 컨솔 출력 함수 println 의..