如何控制matlab中的資料輸出格式? 改變輸出位數精度
一. 命令方法
針對資料的顯示形式控制,matlab中有專用命令 format
但該命令不影響資料的儲存形式和計算精度
format 預設格式
format short 5字長定點數
format long 15字長定點數
format short e 5字長浮點數
format long e 15字長浮點數
format short g
format long g
format hex 16進位制
format bank 定點貨幣形式
format rat 小數分數表示
format + +,-,空格
format compact 壓縮空格
format loose 包括空格和空行
format long 15字長定點數
format short e 5字長浮點數
format long e 15字長浮點數
format short g
format long g
format hex 16進位制
format bank 定點貨幣形式
format rat 小數分數表示
format + +,-,空格
format compact 壓縮空格
format loose 包括空格和空行
二. 選單方式
當然也可以不用format 命令,可以修改系統的預設設定格式,File->Preferences->Command Window->Text Display.
如果想得到分數可以用rats()函式
如果想得到根號,只有用符號表示了,當然用符號表示是萬能的。例如:
a=1/3 得到 0.33333
rats(a) 得到 1/3
a='sqrt(3)' 得到 sqrt(3) 不過這是字元型,要轉換成數值型可以用eval(a),或str2num(a).
但是無論Matlab中採取什麼樣的輸出格式,在系統核心中的變數的精度總是保持精確的(儘可能)。除非你人為的改變它的計算精度。我們可以用一個簡單的例子來說明這個問題:如a=1/3 顯示為0.33333333
a=a*3 得到 1 (不是0.99999999)
在很多其它的程式設計語言中是不可能得到1的。這就說明了Matlab在計算的過程中不會損失使用者的計算資訊(包括中間結果)。