数学函数:fabs
原型:在TC中原型是extern float fabs(float x);,在VC6.0中原型是double fabs(double x );。
用法:#include <
math.h>
功能:求
浮点数x的绝对值
说明:计算|x|, 当x不为负时返回 x,否则返回 -x
数:abs
TC原型
extern float fabs(float x);
VC6.0原型
double fabs( double x );
程序举例
1.(在VC6.0中通过)
#include <math.h>
int main(void)
{
float number = -1234.0;
printf("number:%fabsolutevalue:%f\n", number, fabs(number));
return 0;
}
2.
(在TC2.0中运行通过)
//fabs.c
#include<math.h>
main()
{
float x;
clrscr();//clearscreen
textmode(0x00);//6linesperLCDscreen
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();
return0;
}
应用
程序判数滤波 采样的信号,如因常受到随机干扰传感器不稳定而引起严重失真时,可以采用此方法。方法是:根据生产经验确定两交采样允许的最大偏差△×,若先后两次采样的信号相减数值大于△×,表明输入的是干扰信号,应该去掉;用上次采样值作为本次采样值,若小于、等于△×表明没有受到干扰,本次采样值有效。该方法适用于慢变化的物理参数的采样,如温度、物理位置等测量系统。
floatprogram_detect_filter(floatold_new_value[],floatX)
{
floatsample_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];
return(sample_value);
}
函数调用
需一个一维的两个元素的
数组
(old_new_value[2],用于存放上次采样值(old_new_value[0],)和本次采样值(old_new_value[1],),函数中sample_value表示有效采样值,X表示根据根据经验确定的两次采样允许的最大偏差△×。