2013-03-13 19 views
2

我給出了一個表,它在2維(x,y)上索引,其中值(不一定是有序的,儘管我認爲這不是一個可怕的不安全的假設)z給出,這樣f(x, y)= z反向二元插值

因此,給定一個x和y,我插入找到az值。現在給出一個x值(或者我認爲並不重要)和一個z值,我需要找到對應於數據的y值。如果不知道表中z值的順序,是否可以這樣做?如果有一個表的z值的排序有可能嗎?在我的腦海中,如果訂購了,應該有可能找到一個獨特的解決方案,但我不知道如果我沒有訂購,我該怎麼做。

+1

你可以對f函數做任何假設,比如:它是連續的嗎?光滑?線性在x或y?當給定x和y時,如何插入z? – lmsteffan 2013-03-14 09:59:07

+0

當給定x或y時的雙變量線性插值,所以我假設線性和連續性,通過構造。我相信我可以認爲它很順利,但我不確定這有什麼用處。 我有點在我的腦海裏解決了這個問題,我認爲要做到這一點的唯一方法就是假定它是有序的(嚴格增加或減少),否則你可能會遇到多種解決方案的問題。然後我開始認爲既然它是數據值,我不一定要尋找一個_specific_答案,只是一個有效的,可以做一個反向插值。 – Dwight 2013-03-19 20:41:03

+1

如果函數是常量或具有局部最小/最大值(即它不是單調遞增/遞減),則可能有多個「y」值,其中「z」具有該特定值,因此獨特解決方案可能無法實現。如果你知道你希望的解決方案應該落在哪個「y」值的特定範圍,並且該附近的函數「足夠平滑」,那麼你可能會找到一個。 – twalberg 2013-05-22 14:43:40

回答

0

你可以發佈一些或最好是所有的數據?假設它是線性的和連續的,我們有n個ax + by = z的副本。假設x = 3和z = 4,我們有3個未知數,我們可以把它放在一個有n行和3列的矩陣中。第一行看起來像3 b 4,因爲我們將a,y和z視爲未知數。現在嘗試梯隊減排。更具體地說,做row1 - row2(現在不做row2 - row1),row1 - row3,row1 - row4 ... row2 - row3,row2 - row4 ...應該有nchoose2這些排列。如果有解,那麼每個排列的形式將是qia=qjz(a和z當然不會在那裏),其中qi和qj是已知數,q,i和j是常數。

+0

無法發佈數據,但我沒有考慮使用可能行得通的行減少技術。如果你看看我上面的評論,雖然你會看到我認識到多種解決方案不是問題(在我的使用案例中),對數據的線性搜索將能夠確定是否存在解決方案。 – Dwight 2013-05-22 19:33:42