1.可變精度算術的概念
默認的,Matlab雙精度浮點數使用16位數字精度,而符號數學工具箱的vpa函數,提供了無限大的可變精度,它默認使用32位數字精度,32位指的是有效數字的位數;
2.具體用法
程序示例:
pi? %默認雙精度浮點型,16位精度,默認short顯示格式小數點后4位
ans =
??? 3.1416
vpa(pi)? %可變精度數值,32位精度
ans =
3.1415926535897932384626433832795
vpa(pi,100)? %設置100位精度
ans =
3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068
%% 下面讓整個運行環境使用可變精度
digits? %獲取當前運行環境的精度
i=digits(100)? %設置運行環境精度100,i返回設置前的精度值
vpa(pi)? %顯示pi的可變參數值,已變為100位
運行結果:
Digits = 32
i =
??? 32
ans =
3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068
3.三種算術條件的運算精度比較
3.1 符號算術
默認的,符號數學工具箱使用確切的數字,進行精確的符號計算;具體看54:符號運算Matlab自學筆記五十四:符號數學工具箱和符號運算、符號求解、繪圖
3.2 可變精度算術
是符號數學工具箱的功能,是符號計算的近似數值計算,通過控制數值顯示的有效位數實現可變精度,默認32位,運算速度稍快,內存消耗量依賴于設定的精度;
3.3 雙精度浮點數算術
雙精度浮點運算就是常規的Matlab數值計算,也是Matlab默認的運算方式,有舍入誤差,精確到16位精度,運算速度最快,內存消耗最少;
4.運算精度的選擇
實例:分別在上述三種算術條件下求sin(pi)的值
程序示例:
a=sym(pi)? %符號型運算
sin(a)
a =
pi
ans =
0
b=vpa(pi)? %可變精度型運算
sin(b)
b =
3.1415926535897932384626433832795
ans =
-3.2101083013100396069547145883568e-40
c=pi? %雙精度運算
sin(c)
c =
??? 3.1416
ans =
?? 1.2246e-16
從結果可以看出,精度依次降低。
更多精彩內容
1.49/Matlab實時腳本/寫論文必備技能
37.31 AppDesigner案例:數據庫讀取、查詢和計算軟件
25.1 快速上手樸素貝葉斯算法分類識別及其Matlab編程代碼實例
31.3 Matlab繪圖之圖像上添加標題、標簽和圖例,那些希臘的羅馬的特殊字符應該都涵蓋了哈
38.1 從圖像曲線上提取坐標數據:測量長度,測量角度、圓心和半徑
47.1/Matlab遺傳算法/概念/原理/編程演示數學建模
48.1/Matlab粒子群算法編程/概念和算法流程數學建模
49.1/Matlab模擬退火算法/概念/原理/程序演示
50.1 Matlab數學建模:模式搜索優化算法/原理/概念/程序演示
【Matlab輕松小課堂】66.5 程序注釋實例
23.1 一節入門Matlab擬合問題fit,建立預測變量與響應變量之間的關系(一般是函數關系)
24.1 一節入門K近鄰算法附Matlab編程示例
26.1(上) 一節入門SVM支持向量機算法,含Matlab編程講解
37.1 一節光速入門Matlab AppDesigner界面設計編程
36.1 Matlab GUI 界面設計初學者光速入門
45.1 一個實例入門Matlab深度學習|卷積神經網絡
43.5 神經網絡初始化權重參數和配置輸入輸出大小Matlab編程實例演示
End