====== 수학 함수 라이브러리 (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 목차로 돌아가기]]