Matlab中數值計算精度

2021-08-18 20:23:14 字數 1829 閱讀 8769

1.  matlab中有三種運算精度,它們分別為數值演算法、符號演算法和可控精度演算法,將它們分別介紹如下:

(1)  數值演算法把每個數取為16位,計算按浮點運算進行,它是運算速度最快的一種演算法.

(2)  符號演算法把每個數都變為符號量,運算按有理量計算進行,它的優點是能夠得到精確結果,缺點是占用空間大,並且運算速度最慢.

(3)  可控精度演算法介於上述兩種演算法之間,它能夠使運算在可控的精度下進行計算.

2.  matlab的資料顯示格式,列表如下:

表 matlab資料顯示格式命令

命令意義

舉例( )

format short

短格式方式,顯示5位定點十進位制數

3.1416

format long

長格式方式,顯示15位定點十進位制數

3.141592653589793

format short e

最優化短格式顯示,5位加指數

3.1416e+000

format long e

最優格式,15位加指數

3.141592653589793e+000

format short g

5位定點或浮點格式

3.1416

format long g

對雙精度,顯示15位定點或浮點格式,對單精度,顯示7位定點或浮點格式

3.14159265358979

format short eng

至少5位加3位指數

3.1416e+000

format long eng

16位加至少3位指數

3.14159265358979e+000

format hex

十六進製制格式方式

400921fb54442d18

format bank

銀行格式.按元、角、分(小數點後具有兩位)的固定格式

3.14

format +

+格式,以+,—和空格分別表示中的正數,負數和零元素

format

預設時為預設短格式方式與format short相同

3.1416

format rat

分數格式形式.用有理數逼近顯示資料

355/113

format loose

鬆散格式.資料之間有空行

format compact

緊湊格式.資料之間無空行

vpa(date,n)

將資料date以n位有效數字顯示

vpa(pi,5)= 3.1416

format並不影響matlab如何計算和儲存變數的值.對浮點型變數的計算,即單精度或雙精度,按合適的浮點精度進行,而不論變數是如何顯示的.對整型變數採用整型資料.整型變數總是根據不同的類(class)以合適的資料位顯示.

3.  matlab的特殊變數

ans:對最近輸入的反應

computer:當前計算機型別

eps:浮點精度

flops:計算浮點操作次數,現已不再常用

i:虛部單位

inf:無窮大

inputname:輸入引數名

j:虛部單位

nan:非數值

nargin:輸入引數的數目

nargout:輸出引數的數目(使用者定義函式)

pi:圓周率

realmax:最大正浮點數

realmin:最小正浮點數

varargin  

varargout:返回引數數目(matlab函式)

cputime:cpu工作時間

c 數值計算精度問題

採用double型資料來計算測量資料,有時似乎精度不夠,必須採用decimal,關於c 進行測繪計算時的問題 1 進行減法運算時,精度不夠。例如 double a1 648838.95 double a2 648000.0 double a3 a1 a2 a3結果理論應該為 838.95,而實際c ...

js計算精度

1 2 解決兩個數相加精度丟失問題 3 param a 4 param b 5 returns 6 7function floatadd a,b 10if undefined b null b b isnan b 11try catch f 16try catch f 21 e math.pow 1...

Assert計算精度

計算機其實是不認識十進位制數,它只認識二進位制數,也就是說,當我們以十進位制數進行運算的時候,計算機需要將各個十進位制數轉換成二進位制數,然後進行二進位制間的計算。如進行浮點數金額計算時會出現如下錯誤 class testadd def test add 01 self assert 0.1 0.2...