[STM32 / MBED] MBED 수학
- HelloMaker
- 0
- 10,615
- 0
- 0
- 글주소
- 03-11
개요 : C언어에서 사용되는 대부분의 수학 함수들은 사용 가능합니다. 그중 자주 사용 되는 함수입니다.
min(변수1,변수2)
한 줄 요약 : 두 변수 중 최소값을 찾아내여 반환한다.
코딩 예) y=min(A,B); [이때 A>B] <y에는 B값이 입력된다.>
사용 예)
max(변수1,변수2)
한 줄 요약 : 두 변수 중 최대값을 찾아내여 반환한다.
코딩 예) y=max(A,B); [이때 A>B] <y에는 A값이 입력된다.>
사용 예)
abs(변수)
한 줄 요약 : 변수의 절대값은 반환한다.
코딩 예) y=abs(A); [이때 A=-1] <y에는 1의 값이 입력된다.>
사용 예) 습도센서의 경우 습도는 0% 미만이 없지만 센서 특성상 여러 이유(접점불량, 노이즈 등)로 인해 음수값이 나오는데 미리 제거 할 수 있다.
constrain(변수, 최소값, 최대값)
한 줄 요약 : 변수의 값이 최소와 최대가 이내의 값을 가지되며 최소보다 작으면 최소값을 최대보다 크면 최대값을 가진다.
코딩 예) y=constrain(A,3,10) [이때 A=1] <y에는 3의 값이 입력된다.>
사용 예) 초음파센서를 사용하게 되면 거리가 약 최소 3cm에서 최대 3m정도가 되는데 그 이외의 값은 노이즈 또는 오류이므로 if문 같을 것을 사용하지 않아도 바로 쓰레기 값을 제거 할 수 있다.
map(변수,변경전 최소값, 변경전 최대값, 변경후 최소값, 변경후 최대값)
한 줄 요약 : 변경전 범위 내의 값을 변경후 범위 내의 값으로 비례하여 변환한다.
코딩 예) y = map(A,0,5,20,80); [이때 A=3 ] <0~5의 범위의 값이 20~80 범위로 변경되므로 y의 값은 56이 입력된다.>
사용 예) 아날로그 입력은 0~1의 범위의 값을 가지는데 이를 전압으로 변환하려면 간단히 3.3V를 곱해도 되지만 map 함수를 사용해도된다.
pow(숫자,지수)
한 줄 요약 : 숫자의 값을 지수만큼의 횟수로 곱한다.
코딩 예) y = pow(A,B); [이때 A는 10, B는 3] <10을 3번 곱하였으므로 1000 이 된다.>
사용 예) 보통의 경우 10^3을 하면 다른 프로그램에서는 승수 계산이 되나 C언어에서는 ^ 연산자는 xor연산을 하는 비트연산자이므로 원하는 결과 값이 나오지 않는다. 그 대신 이 함수를 사용한다.
sqrt(변수)
한 줄 요약 : 숫자의 제곱근의 값을 반환한다.
코딩 예) y=sqrt(A); [이때 A는 4] <y는 4의 제곱근인 2의 값이 입력된다>
sin(변수)
한 줄 요약 : 숫자의 사인 값이 반환된다.
cos(변수) :
한 줄 요약 : 숫자의 코사인 값이 반환된다.
tan(변수) :
한 줄 요약 : 숫자의 탄젠트 값이 반환된다.