當數據重複再命令行窗口時,整數以整形形式顯示,其餘值將以默認格式顯示。MATLAB的默認格式是精確到小數點後4位。若是一個數太大或過小,那麼將會以科學記數法的形式顯示。好比:程序員
>> x=100.11
x = 100.1100 >> y=1001.1 y = 1.0011e+03 >> z=0.00010011 z = 1.0011e-04
改變默認輸出格式要用到format命令,可根據下表改變數據的輸出格式數組
format 命令 | 結果 | 例子 |
format short | 保留小數點後4位(默認格式) | 12.3456 |
format long | 保留小數點後14位 | 12.345678901234500 |
format short e | 帶有5位有效數字科學記數法 | 1.2346e+100 |
format short g | 總共有5個數字,能夠用科學記數法,也可不用 | 12.346 |
format long e | 帶有15位有效數字科學記數法 | 1.234567890123457e+001 |
format long g | 總共有15個數字,能夠用科學記數法,也可不用 | 12.3456789012346 |
format bank | 美圓格式 | 12.35 |
format hex | 用16進制標識 | 4028b0fcd32f6f3b |
format rat | 兩個小整數的比 | 2233/100 |
format compact | 隱藏多於的換行符 | |
format loose | 使用多餘的換行符 | |
format + | 只顯示這個數的正負 | + |
其中美圓格式是指按美圓精確到美分的格式記數,隱藏/使用多餘的換行符這個我也試出來有什麼卵用。markdown
另外一種顯示數據的方法是用disp函數。disp須要一個數組參數,它將值顯示在命令行窗口。若是這個數組是字符型,那麼包含在這個數組中的字符串將會打印在命令行窗口。
此函數可聯合num2str(將一個數轉化爲字符串)和int2str(講一個整數轉化爲字符串)來產生新的信息,顯示在命令行窗口中。例如,下面的語句將「the value of pi=3.1416」顯示在命令行窗口中。第一句建立了一個字符型數組,第二句用於顯示這個數組。app
>> str=['the value of pi=' num2str(pi)]; >> disp(str); the value of pi=3.1416
用fprintf函數顯示數據是一種十分簡便方法。fprintf函數顯示帶有相關文本的一個或多個值,容許程序員控制顯示數據的方式。它在命令行窗口打印一個數據的通常格式以下:函數
fprintf(format,data)
其中format用於表示一個描述打印數據方式的字符串,data表明要打印的一個或多個標量或數組。format包括兩方面的內容,一方面是打印文本內容;另外一方面是打印內容中的數據格式。例如post
>> fprintf('the value of pi is%6.2f\n',pi) the value of pi is 3.14
打印的結果爲the value of pi is 3.14,後面帶有一個換行符。轉義序列%6.2f表明在本函數中的第一個數據項將佔有6個字符寬度,小數點後有2位小數。
fprintf函數又一個重大的侷限性,只能顯示覆數的實部。當咱們的計算結果是複數時,這個侷限性將會產生錯誤。在這種狀況下,最好用disp顯示數據。ui
format 命令 | 結果 |
%d | 把值做爲整數來處理 |
%e | 用科學記數法來顯示數據 |
%f | 用於格式化浮點數,並顯示這個數 |
%g | 用科學記數格式,或浮點數格式,根據長度最短的顯示 |
%n | 換行符 |
例如spa
>> i ans = 0.0000 + 1.0000i >> disp([i]) 0.0000 + 1.0000i >> fprintf('i is%8.4f\n',i) i is 0.0000
注意fprintf忽略了虛部.net
總的來講,使用fprintf最爲靈活方便,能夠輸出任何格式,並且能夠有多個數據項,但fprintf須要定義數據項的字符寬度和數據格式,因此上手感受有點繁瑣。命令行