我想比較浮點類型的N個數據。這種比較必須用容差來完成。N數據比較
這意味着如果2個數據(在N個數據中)之間的差值小於或等於容差,那麼這2個數據將被認爲是有效的,並且我得到一個數據,否則如果差值大於容差,那麼數據是無效的。
你有什麼想法嗎?
這裏是我的代碼:
float mytab[N];
int i,j,index=0;
for (i = 0; i < N-1; i++)
{
for (j = i+1; j < N; j++)
{
if(tab[i].valid && tab[j].valid)
{
if (ABS(tab[i]-tab[j])<= toleance)
{
mytab[index] = tab[i];
index++;
}
}
}
}
//after i search the min value of mytab which constain a
valid value within tolerance.
例子:
tolerance = 0.15;
Data: 20.005, 20.017, 21.20, 21.25, 25.75, 25.9, 20.1
在這個例子中,如果我們基於公差,我們可以選擇(20.005或20.017或20.1)OR(21.20 OR 21.25)。 但是,如果我們根據多數票投票,我們選擇20 ...而不是21 ...
你我有辦法。但是,您能否提供您的嘗試?如果你至少嘗試了一些東西,SO可以幫助你。 – vishram0709
是的,我嘗試過,但我沒有找到一個通用的算法。 – physics
請嘗試編輯您的文章。 – vishram0709