C語言中的random函數(shù)可以產(chǎn)生均勻分布的隨機變量分布區(qū)間為(0,1),假設(shè)x1,x2是由random產(chǎn)生的隨機變量,
創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的石城網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
則y=sqrt(-2*ln(x1))為瑞利分布
theta=2*pi*x2為(0,2*pi)的均勻分布
n1=y*cos(theta),n2=y*sin(theta)為兩個獨立的正太分布
z=sqrt((a+n1)^2+(b+n2)^2),為萊斯分布,a ,b為常數(shù)
數(shù)學(xué)函數(shù):fabs
原型:extern float fabs(float x);
用法:#include math.h
功能:求浮點數(shù)x的絕對值
說明:計算|x|, 當(dāng)x不為負時返回x,否則返回-x
舉例:
// fabs.c
#include syslib.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;
}
擴展資料:
程序判數(shù)濾波 采樣的信號,如因常受到隨機干擾傳感器不穩(wěn)定而引起嚴重失真時,可以采用此方法。
方法是:根據(jù)生產(chǎn)經(jīng)驗確定兩交采樣允許的最大偏差△×,若先后兩次采樣的信號相減數(shù)值大于△×,表明輸入的是干擾信號,應(yīng)該去掉;
用上次采樣值作為本次采樣值,若小于、等于△×表明沒有受到干,本次采樣值效。該方法適用于慢變化的物理參數(shù)的采樣,如溫度、物理位置等測量系統(tǒng)。
程序判斷濾波的C程序函數(shù)如下:
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);
}
函數(shù)調(diào)用需一個一維的兩個元素的數(shù)組(old_new_value[2],用于存放上次采樣值(old_new_value[0],)和本次采樣值(old_new_value[1],),函數(shù)中sample_value表示有效采樣值,X表示根據(jù)根據(jù)經(jīng)驗確定的兩次采樣允許的最大偏差△×。
參考資料來源:百度百科:fabs函數(shù)
C語言中計算一個數(shù)的N次方可以用庫函數(shù)pow來實現(xiàn)。
函數(shù)原型:double pow(double x, double y);
功 能:計算x^y的值
返 回 值:計算結(jié)果
舉例如下:
double a = pow(3.14, 2); // 計算3.14的平方
注:使用pow函數(shù)時,需要將頭文件#includemath.h包含進源文件中。