3
我需要高精度的項目,我正在努力。 從其減去當我的問題在這裏說明:MATLAB的精度,減少
>> 1-0.9999999999999999
ans = 1.1102e-16
>> 1-0.99999999999999999
ans = 0
我知道這是涉及到雙精度。無論如何,我可以得到更高的精度? 我檢查了「vpa」功能,但我無法設法獲得更高的精度。 有人可以幫助我嗎?
預先感謝您!
我需要高精度的項目,我正在努力。 從其減去當我的問題在這裏說明:MATLAB的精度,減少
>> 1-0.9999999999999999
ans = 1.1102e-16
>> 1-0.99999999999999999
ans = 0
我知道這是涉及到雙精度。無論如何,我可以得到更高的精度? 我檢查了「vpa」功能,但我無法設法獲得更高的精度。 有人可以幫助我嗎?
預先感謝您!
Matlab內部使用雙精度64位系統來解決精度問題。確實存在對matlab的擴展,允許您使用任意精度算術。例如參見 this question。
你有沒有安裝Matlab的符號數學工具箱? – 2014-10-20 16:03:27
嘗試'vpa('1-0.9999999999999999')'(注意引號)。 'vpa(1-0.9999999999999999)'不起作用,因爲'0.999999999999999999'首先轉換爲'double' – 2014-10-20 16:06:06
備註:'vpa'需要符號數學工具箱,高性能標記最終不可避免地指向它。 Luis也很好! – rayryeng 2014-10-20 16:18:42