====== 수학 함수 라이브러리 (Math Functions) ======
CUBLOC2에서 지원하는 수치 연산 및 삼각 함수 목록입니다. 32비트 실수 연산(Single)을 활용하여 정밀한 계산이 가능합니다.
내부적으로 하드웨어 FPU를 활용하여 빠른 연산 속도를 제공합니다.
사용 예에서 사용한 변수 타입은 다음과 같습니다.
* ''Ival'' : 정수형 입력 변수 (Dim Ival As Integer)
* ''Ires'' : 정수형 결과 변수 (Dim Ires As Integer)
* ''Fval'' : 실수형 입력 변수 (Dim Fval As Single)
* ''Fres'' : 실수형 결과 변수 (Dim Fres As Single)
* ''Fval_x'', ''Fval_y'' : 두 개의 실수형 입력이 필요한 경우 각각 x, y 인수를 나타냅니다.
==== 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)'' |
> **참고:** ''Floor''와 ''Ceil''은 음수에서 직관과 다르게 동작할 수 있습니다. 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)'' |
> **주의:** ''Log''와 ''Log10''에 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)'' |
> **주의:** ''Asin''과 ''Acos''에 -1.0 ~ +1.0 범위를 벗어난 값을 입력하면 오류가 발생합니다.
* [[.:testprogram|테스트 프로그램]]
[[..:index|← CUBLOC2 목차로 돌아가기]]