2013-04-26 23 views
0

我正在試圖創建一個可以更好地存活數據損壞的原型存檔格式。我的模式是將每個字符轉換爲小數,然後繪製數據。與MS Excel中的圖表函數類似,給定的數字集合生成數學方程來描述集合

例如:

OMEš_

83 111 109 101 32 115 ........

一旦繪製,這些^ ^號碼可以由函數來描述: -18.04 * ln(x)+ 124.14

由於每組數字都將使用自然對數繪製,我計劃以[is_neg] [first_num] [second_num形式在每行末尾添加一個浮點],例如11804124.14

第一個數字將始終是一個布爾值,表示它是負數還是負數。 接下來的四個數字將始終是ln的係數。 最後5個數字將始終爲常數項。如果它小於100,它將以0作爲前綴。

這些都不是真的很重要。我認爲這是表示數據的最佳方式。如果有人有更好的主意,我很樂意聽到(認真)。

目前我在Excel中這樣做。我突出顯示數字,圖表嚮導等,添加對數繪圖線。

所以這是我的問題。算法上,有一種方法給定一組兩個或多個數字來生成對數函數嗎?如果在某個地方有預定義的課程,這將會非常的甜美。我試着四處搜尋,但找不到任何東西。我認爲.net可能有這個東西,考慮到它是一個優秀的功能。

在附註中,爲了防止任何人感到好奇,我計劃在行末添加公式(就像我之前所說的)。對於歸檔損壞檢測和修復,我將遍歷每一行並計算最能描述該行的公式。如果值非常大(比如說超過20%),那麼我會得出結論要麼是存檔文件損壞太大或者元數據損壞。

如果設置的值在公差範圍內,我的修復檔案的計劃是對行中的每個值進行排列並計算與其關聯的公式。最接近該函數的每個突變集合將被視爲「正確」集合。

複雜,是嗎?我也接受想法。提前感謝任何幫助!

回答

0

您提出的問題可能是使用數據的linear regression(使用least squares approximationo),使用對數轉換數據後最好計算得出。

總的來說,我懷疑你的方案是非常有用的,因爲計算這些對數相當昂貴,並且重構來自該行的數據將是困難的。關於這個問題的想法,看看forward error correction