목차

수학 함수 라이브러리 (Math Functions)

CUBLOC2에서 지원하는 수치 연산 및 삼각 함수 목록입니다. 32비트 실수 연산(Single)을 활용하여 정밀한 계산이 가능합니다. 내부적으로 하드웨어 FPU를 활용하여 빠른 연산 속도를 제공합니다.

사용 예에서 사용한 변수 타입은 다음과 같습니다.

1. 일반 산술 및 수치 처리

수치의 절대값, 제곱근, 거듭제곱, 난수 생성 및 소수점 처리 관련 함수입니다.

함수 설명 입력 범위 사용 예
Abs 정수의 절대값을 구합니다. 정수 전체 Ires = Abs(Ival)
Fabs 실수의 절대값을 구합니다. 실수 전체 Fres = Fabs(Fval)
Sqr 제곱근을 구합니다. 0 이상 Fres = Sqr(Fval)
Cbrt 세제곱근을 구합니다. 실수 전체 Fres = Cbrt(Fval)
Hypot 두 값으로 직각삼각형의 빗변 길이를 구합니다. sqrt(x2+y2) 실수 전체 Fres = Hypot(Fval_x, Fval_y)
Pow x의 y 거듭제곱을 구합니다. (xy) x > 0 Fres = Pow(Fval_x, Fval_y)
Fmod x를 y로 나눈 실수 나머지를 구합니다. y ≠ 0 Fres = Fmod(Fval_x, Fval_y)
Rnd 0 이상 Max 미만의 난수를 생성합니다. 1 이상 정수 Ires = Rnd(Ival)
Floor 소수점 이하를 버림합니다. (-1.2 → -2) 실수 전체 Ires = Floor(Fval)
Ceil 소수점 이하를 올림합니다. (-1.2 → -1) 실수 전체 Ires = Ceil(Fval)
Round 소수점 이하를 반올림합니다. 실수 전체 Ires = Round(Fval)
Float 정수를 실수(Single)로 변환합니다. 정수 전체 Fres = Float(Ival)
참고: FloorCeil은 음수에서 직관과 다르게 동작할 수 있습니다. Floor(-1.2) = -2, Ceil(-1.2) = -1 입니다.

2. 지수 및 로그 함수

지수 연산과 로그 계산을 위한 함수입니다.

함수 설명 입력 범위 사용 예
Exp e의 x 거듭제곱 값을 구합니다. (ex) 실수 전체 Fres = Exp(Fval)
Log 자연로그 값을 구합니다. (ln x) 0 초과 Fres = Log(Fval)
Log10 상용로그 값을 구합니다. (log10 x) 0 초과 Fres = Log10(Fval)
주의: LogLog10에 0 이하의 값을 입력하면 오류가 발생합니다.

3. 삼각 함수 (Trigonometric)

사인, 코사인, 탄젠트 및 하이퍼볼릭 함수입니다. 입력 단위는 라디안(Radian)입니다.

함수 설명 입력 범위 사용 예
Sin 사인 값을 구합니다. 결과: -1.0 ~ +1.0 실수 전체 Fres = Sin(Fval)
Sinh 하이퍼볼릭 사인 값을 구합니다. 실수 전체 Fres = Sinh(Fval)
Cos 코사인 값을 구합니다. 결과: -1.0 ~ +1.0 실수 전체 Fres = Cos(Fval)
Cosh 하이퍼볼릭 코사인 값을 구합니다. 실수 전체 Fres = Cosh(Fval)
Tan 탄젠트 값을 구합니다. π/2의 홀수배 제외 Fres = Tan(Fval)
Tanh 하이퍼볼릭 탄젠트 값을 구합니다. 결과: -1.0 ~ +1.0 실수 전체 Fres = Tanh(Fval)
참고: 모든 삼각 함수의 입력 단위는 라디안(Radian)입니다.

일반 각도(Degree)를 사용하려면 다음 공식을 적용하십시오.

Radian = Degree × (π / 180)

4. 역삼각 함수 (Inverse Trigonometric)

삼각비로부터 각도를 구하는 함수입니다. 결과 단위는 라디안(Radian)입니다.

함수 설명 입력 범위 사용 예
Asin 아크 사인 값을 구합니다. 결과: -π/2 ~ +π/2 -1.0 ~ +1.0 Fres = Asin(Fval)
Acos 아크 코사인 값을 구합니다. 결과: 0 ~ +π -1.0 ~ +1.0 Fres = Acos(Fval)
Atan 아크 탄젠트 값을 구합니다. 결과: -π/2 ~ +π/2 실수 전체 Fres = Atan(Fval)
Atan2 x, y 좌표로 아크 탄젠트를 구합니다. Atan과 달리 사분면을 고려합니다. 결과: -π ~ +π x ≠ 0 Fres = Atan2(Fval_y, Fval_x)
주의: AsinAcos에 -1.0 ~ +1.0 범위를 벗어난 값을 입력하면 오류가 발생합니다.

← CUBLOC2 목차로 돌아가기