2011-12-30 69 views
6

是否可以檢查變量(變量可以是float,double或int)是否接近某個數字。我做了一些谷歌搜索,但它什麼都沒有。如何以編程方式檢查變量是否正在接近x?

例如,隨着x越來越負,n越接近零。

+6

「接近」是什麼意思? – 2011-12-30 15:17:05

+1

你問你是否可以檢測到漸近限制 – rerun 2011-12-30 15:17:51

+0

你的輸入有點薄。 「接近」是什麼意思?在什麼情況下? – 2011-12-30 15:18:01

回答

2

您可以使用Math.Abs功能測量給定值是否接近到X:

double x = ... 
double someVariable = ... 

// define the precision you are working with 
double epsilon = 1e-6; 

// now test whether someVariable is approaching x 
if (Math.Abs(someVariable - x) < epsilon) 
{ 
    // someVariable is approaching x given the precision you have defined 
} 
+1

-1:不檢查函數是否接近值x。你只檢查它是否接近。接近價值涉及更多。 – Dimme 2011-12-30 15:22:24

+0

我不確定我是否按照這個答案。對於接近x的東西它必須移動,但你似乎只是定義一個單一的值,看看它是否接近目標。或者最後一點意味着被包含在某種類型的循環中,如果是的話,你如何確定在短時間內某物是否接近x? – Chris 2011-12-30 15:28:45

+0

@Dimme,克里斯,你是對的。這只是檢查變量是否已經接近給定值。就接近而言,我們都在等待OP解釋他在做什麼,他選擇什麼算法來解決問題,他遇到了什麼困難...... – 2011-12-30 15:40:29

1

你可以做的最接近的事是比較你的變化和你的目標之間的差異的大小,看看如果它低於您的可接受閾值。嚴格來說,這不是接近,但關閉(我認爲「逼近」意味着許多樣品趨向於你的目標;這實際上不可能簡單地做,特別是諧波衰減)。

相關問題