2013/03/07 4

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 으로도 수정 없이 그대로 실행된다..