原型
數學函式:fabs,原型:extern float fabs(float x)。
用法
#include <math.h>
功能
求浮點數x的絕對值
說明
計算|x|, 當x不為負時返回x,否則返回-x
舉例
// fabs.c
#include <stdlib.h>
#include <math.h>
main()
{
float x;
clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen
x=-74.12;
printf("|%f|=%f\n",x,fabs(x));
x=0;
printf("|%f|=%f\n",x,fabs(x));
x=74.12;
printf("|%f|=%f\n",x,fabs(x));
getchar();
return 0;
}
套用
程式判數濾波 採樣的信號,如因常受到隨機干擾感測器不穩定而引起嚴重失真時,可以採用此方法。方法是:根據生產經驗確定兩交採樣允許的最大偏差△×,若先後兩次採樣的信號相減數值大於△×,表明輸入的是干擾信號,應該去掉;用上次採樣值作為本次採樣值,若小於、等於△×表明沒有受到乾,本次採樣值效。該方法適用於慢變化的物理參數的採樣,如溫度、物理位置等測量系統。
程式判斷濾波的C程式函式如下:
float program_detect_filter(float old_new_value[], float X)
{
float sample_value;
if (fabs(old_new_value[1]_old_new_value[0])>X)
sample_value=old_new_value[0];
else
sample_value=old_new_value[1];
retrun(sample_value);
}
函式調用需一個一維的兩個元素的數組(old_new_value[2],用於存放上次採樣值(old_new_value[0],)和本次採樣值(old_new_value[1],),函式中sample_value表示有效採樣值,X表示根據根據經驗確定的兩次採樣允許的最大偏差△×。