我正在使用matlab,想檢查列向量是否與另一個使用3dp相等,爲此,我試圖創建一個滿量程爲0.001的數組並檢查它是否更大大於或等於。有沒有更簡單的方法比for循環來創建這個數組還是沒有?創建一個單一值的數組
3
A
回答
0
您可以考慮在「查找」命令,如:
a = [ 0.005, -0.003 ];
x = find(a > 0.001);
FWIW,我發現在MATLAB比較數字是一個絕對的噩夢,但我也只是新手的話。重點是,當你進行比較時,你可能會遇到浮點比較問題,因此在嘗試任何事情時請記住這一點(如果我錯了,或者有一個漂亮的解決方法,請糾正我)
1
例如:
a = rand(1000,1);
b = rand(1000,1);
idx = (abs(a-b) < 0.001);
[a(idx) b(idx)]
» ans =
0.2377 0.23804
0.0563 0.056611
0.01122 0.011637
0.676 0.6765
0.61372 0.61274
0.87062 0.87125
4
所以,讓我知道這是否正確。
你有2載體,a
和b
每個擁有N
元素。你要檢查是否每個i<=N
,abs(a(i)-b(i)) <= 0.001
。
如果這是正確的,你想:
vector_match = all(abs(a-b) <= 0.001);
vector_match
是一個布爾值。
10
有沒有比for循環更簡單的方法來創建這個數組?
是,使用
ones(size, 1) * myValue
例如
>> ones(5,1)*123
ans =
123
123
123
123
123
相關問題
- 1. 創建一個簡單的數組
- 2. 創建一個數組,並設置我試圖創建一個數組值
- 3. 創建一個主鍵值數組
- 4. 如何從單個GeoJSON屬性創建一個數組值?
- 5. 創建一個對象,其中的值是一個數組
- 6. 在每一行中創建一個具有單個交錯值的數組?
- 7. 試圖從一個數組的兩個值創建一個數組
- 8. 創建一個數組
- 9. 創建一個UIViews數組
- 10. 創建一個數組blockingqueue
- 11. 創建一個CLLocationCoordinates數組
- 12. 比較兩個數組值,並創建一個PHP數組
- 13. 如何從JavaScript數組中創建一個簡單的數組?
- 14. 從字典數組創建一個值的數組
- 15. 從數組的值創建一個數組
- 16. 如何創建一個包含其他值的數組數組?
- 17. For循環創建一個比預期值小一個數組的數組
- 18. Javascript:創建一個數組,其索引是另一個數組的值
- 19. 使用另一個數組的索引值創建一個數組
- 20. 創建一個數組,其值位於數組中的一個鍵中
- 21. 從一個數組(對象)中創建一個數組(對象)的陣列(值)
- 22. 如何在一個數組中創建另一個數組(VBA)中的值?
- 23. Ruby:創建一個哈希數組,其中每個值都是一個數組
- 24. 創建一個數組對象數組?
- 25. 創建一個從未知數值數組一個PHP嵌套數組
- 26. Java:從另一個數組的屬性創建一個數組
- 27. 如何創建並填充一個新的關聯數組,每個數組都創建一個值?
- 28. 如何創建一個允許數組像單值一樣操作的方法?
- 29. 一格創建一個二維數組
- 30. 使用關聯數組鍵和數值數組值創建一個數組PHP
爲了解決比較問題,你可以使用'eps'。通常,浮點比較會影響所有語言,而不僅僅是MATLAB。您可以閱讀**數值方法中的一些材料**,因爲在大量操作後,數字錯誤可能會累積。例如,在某些情況下,它是'sqrt(eps)'。 – rwong 2010-08-27 03:24:07
@wrong:當然,我知道'eps',我知道浮點比較,但是'eps'並不總是有幫助。不過謝謝。 – 2010-08-27 03:26:58