MATLAB中符號計算的運算過程是完全精確的,不會產生累積誤差。但這壹切都是以降低計算速度和增加所需內存為代價的。有時為了兼顧計算精度和計算速度,需要用“可變精度”來表示符號數。
1.重置符號計算引擎
在計算之前,我們需要重置符號計算引擎,以生成準確的符號數。這裏重置符號計算引擎的指令是reset(symengine),它的作用是重啟符號計算引擎。
2.精確表達的相關說明
關於精度表達式的相關說明如下:
數字功能:顯示當前環境下符號數“十進制浮點”所代表的有效位數。
Digits(n)功能:設置符號數“十進制浮點”所代表的有效位數。
Xs=vpa(x)函數:根據表達式x,得到精度為位數的符號數Xs。
Xs=vpa(x,n)函數:根據表達式x得到n位有效數字的符號數Xs。
3.使用默認設置的結果
這裏我們先用“變精度算法”的默認設置和結果,真正理解有效位數的含義。在這個過程中,我們需要用到上壹步介紹的說明,要註意它的用法。
4.設置有效位數
在設置之前,我們應該檢查當前“變精度算法”的有效位數,然後將其重置為另壹個有效位數。
5.使用vpa指令檢查修改結果。
這裏我們用第二步介紹的vpa指令的兩種輸入法來查看結果。