목차
수학 함수 라이브러리 (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 범위를 벗어난 값을 입력하면 오류가 발생합니다.
