我正在嘗試使用Matlab編寫清理數據的程序。該程序取得數據的最大和最小值,並拋出小於最小值或大於最大值的數據。清潔部分看起來像一個小問題。這種情況只發生在被檢查變量的最小範圍爲0的情況下。如果是這種情況,由於某種原因,程序不會丟棄介於0和-1之間的數據點。我一直試圖解決這個問題一段時間,並且注意到這是發生這種情況的唯一情況,並且如果您嘗試運行SQL查詢來選擇數據是< 0,它將在0和 - 1,如此有效地發生了與我發生的事情相同的錯誤。想知道是否有人會認識到這一點,並知道它可能是什麼。在0和-1之間查看數據的問題
2
A
回答
4
我會寫這樣的功能:
function data = cleanseData(data, limits)
limits = sort(limits);
data = data(limits(1) <= data & data <= limits(2));
end
用法的例子:
a = rand(100,1)*10;
b = cleanseData(a, [-2 5]);
c = cleanseData(a, [0 -1]);
你想你的代碼幫助
4
-1
小於0
,所以0
應該是max
的值。如果這是它會保持-1
和0
之間的點你在清洗動作定義的情況:
,並引發出的數據比最大不到min以上。
如果你想扔掉(使用上述定義)
數據點和介於0 -1
,那麼你需要設置0
爲min
值和-1
作爲max
值---這是沒有意義的。
另外,我覺得你的意思是
,並引發出的數據小於最小,比最大更大。
+0
我認爲你誤會了。 OP選擇'0'作爲最小值,'-1'到'0'範圍內的值由於某種原因未被刪除。 – gnovice 2010-07-26 17:24:17
0
如果我試圖模仿與SQL您的情況,對運行在列SomeVal具有1.00, 0.00, -0.20, -0.80. -1.00, -1.20 and -2.00
數據表下面的查詢,它正確返回-0.20 and -0.80
,這是符合市場預期。
SELECT SomeVal
FROM SomeTable
WHERE (SomeVal < 0) AND (SomeVal > - 1)
對於MatLab也是如此。也許你的代碼有錯誤。用你自己的SELECT語句檢查上面的語句,看看是否有什麼不妥。
0
,如果你這樣做
minimum = 0
if minimum and value < minimum
1
這可能是浮標所得到的比較之前強制轉換爲整數,我可以想像這樣的錯誤。我不知道matlab,但是在python int(-0.5)== 0中,這可以解釋額外的數據點進入。您可以通過將min設置爲-1來測試這一點,如果您還可以從-1到-2,那麼你需要確保鑄造沒有完成。
相關問題
- 1. 0-1到int 0-17之間的浮點問題
- 2. 重標度數字0和1之間
- 3. srand(1)和srand(0)之間的區別
- 4. 正常化0和1之間的CGRect
- 5. 數據查看問題
- 6. 得到0之間的輪數爲1
- 7. 0 1問題在Xcode
- 8. 隨機選擇0和1之間
- 9. 在php和perl之間發送和接收數據的問題?
- 10. 如何查看之間傳遞數據
- 11. 訪問故事板視圖1和3之間的數據
- 12. 只接受0和1之間的浮點數 - python
- 13. C++中0和1之間的隨機數
- 14. 我怎樣才能使0和1之間的對數箱?
- 15. 從整數列表更改爲0和1之間的權重?
- 16. 填補我的數據在1之間
- 17. 在1個查詢中獲取quize數據,問題和答案?
- 18. 與Excel 2003和2007之間的數據查詢存在兼容性問題
- 19. `[blah addObject:@「1」];``和`[blah insertObject:@「0」atIndex:0]之間有什麼區別;`?
- 20. 1到100之間的數字之和
- 21. 檢查數據庫和數據表之間的數據存在
- 22. 問題通過數據模型,查看
- 23. 獲得位置值在0和1之間的算法
- 24. 語言模型的困惑度如何在0和1之間?
- 25. OpenFeint和Phonegap查看問題
- 26. 查看和ICollection問題
- 27. 從表中直接選擇數據和查看數據之間的區別
- 28. 在查看堆棧中的頁面之間發送數據
- 29. Rails隨機數介於0和3之間始終爲0或1
- 30. 在0到1之間在cuda內核中生成隨機數
?向我們展示您的代碼!並澄清SQL查詢和Matlab代碼之間的關係。 – 2010-07-26 17:15:54
在調試部分的*消除過程* Andrew Hunt附帶提示26:*「select」沒有被破壞「*,在花了兩天在* select *中發現錯誤的程序員之後,因爲他認爲他自己代碼是完美無瑕的,但事實並非如此:道德:錯誤的可能原因不在於數據庫或MatLab,而在於你的手寫代碼(並且我們希望看到它)。 www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X – Abel 2010-07-26 17:35:58
@Abel:抱歉缺少代碼示例,新的在這裏:) @Amro的建議似乎有效,而且你肯定是對的,我只是忽略了一些東西現在我明白了,不知道我是怎麼做的,謝謝你所有的時間和精力來幫助我。 – Joey 2010-07-30 19:02:59