Matlab 精度控制

2021-08-28 19:04:05 字數 399 閱讀 4231

#前言

在進行精細計算的時候,之前沒有考慮到的一些問題也就冒了出來,計算機內部資料畢竟是離散儲存的,不可能像手推公式時那樣,純理論實數域運算。

#正文matlab中控制運算精度 :

format long 只能設定顯示精度,並不能控制運算精度。

在matlab中,控制運算精度一般使用 digits 和 vpa。

示例:digits %顯示當前運算精度

digits(n) %設定預設的精度

vpa(x,n) %表示將s表示為n位有效數的符號物件

如果不設定digits(n) ,系統預設為32位

需要注意:

1,vpa算出的值為符號變數,可以進行初等運算,但不能進行關係運算等;

2,vpa的運算速度比matlab標準函式要慢。

C 精度控制

使用這些格式需要宣告包含 long flags const 返回當前的格式標誌。long flays long newflag 設定格式標誌為newflag,返回舊的格式標誌。long setf long bits 設定指定的格式標誌位,返回舊的格式標誌。long setf long bits,lo...

C 精度控制

例題1 1 圓柱體的表面積 輸入底面半徑r和高h,輸出圓柱體的表面積,保留3位小數,格式見樣例。樣例輸入 3.5 9 樣例輸出 area 274.889 精度控制 1.如果使用了控制符,在程式單位的開頭除了要加iostream標頭檔案外,還要加iomanip標頭檔案。include 2.舉例 輸出雙...

cout精度控制

cout include 標頭檔案必須包含,這個沒什麼好說的,上面的都在iomanip中定義。首先要加標頭檔案 iomanip 一 setprecision 作用 控制輸出流顯示浮點數的數字個數,setprecision n 就是輸出的n個數,會有四捨五入。比如 double s 20.784300...