我一直試圖想出一些數學公式來找到給定范圍內具有可變步長的不同數字。
首先,我在 1-D 中嘗試,例如在范圍 [0,10] 中,步長為 0.1。解決方案:在 0.1-1,1.1-2,.......,9.1-10 之間。每個子范圍有 10 個數字,所以總共 #=100。包括0,我們得到100 1=101。
接下來是找到網格(2D)中的總點數。解決方案:在一個有兩個軸 x 和 y 的網格中,我們需要找到總共 # 個點。x 在 [-10,10] 范圍內,y 在 [-10,10] 范圍內,步長為 0.1。對于 2D,它變得復雜,在更高的維度和不同的步長中,它變得非常混亂。我只是想知道是否有一個通用的公式或方法來找到這些點。
網格或二維空間看起來像這樣
uj5u.com熱心網友回復:
在更高維度上它并沒有明顯更復雜,因為更高維度的最佳包裝是網格。假設您x在封閉范圍內[x1, x2]的步長為dx,您y在封閉范圍內[y1, y2]的步長為dy。就在x軸上,有1 floor((x2 - x1) / dx)值,就在y軸上,有1 floor((y2 - y1) / dy)值,所以在 2d 網格中有
(1 floor((x2 - x1) / dx)) * (1 floor((y2 - y1) / dy))
不同的點。
這可以推廣到更高的維度(假設dx、dy、d...是常數)。因此,只需找到每個維度中不同點的數量,然后將這些值相乘即可獲得n維區域中不同點的數量。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/337037.html
