1樓:匿名使用者
matlab一般預設顯示小數,若是不顯示,你可以用format long來顯示。還有一種方法,即是型別轉換,比如:n=double(1)/2;則可以顯示位小數。
有兩種可能。
一種是matlab顯示格式被設為了分數。可以用format long轉換為小數顯示。具體可參看format的幫助檔案。
一種是使用了符號計算,得到的精確解,會出現分數。可以用vpa轉換為小數顯示。
如x=sym(1/2)
y=vpa(x)
具體可參看vpa的幫助檔案。
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_r(a),或str2num(a).
但是無論matlab中採取什麼樣的輸出格式,在系統核心中的變數的精度總是保持精確的(儘可能)。除非你人為的改變它的計算精度。我們可以用一個簡單的例子來說明這個問題:
如a=1/3 顯示為0.33333333
a=a*3 得到 1 (不是0.99999999)
在很多其它的程式設計語言中是不可能得到1的。這就說明了matlab在計算的過程中不會損失使用者的計算資訊(包括中間結果)。
fprintf函式
var(n) % n為你想得到的小數點為數.
matlab的命令視窗輸出結果怎麼把分數形式變成小數形式?
2樓:匿名使用者
有兩種可能。
一種是matlab顯示格式被設為了分數。可以用format long轉換為小數顯示。具體可參看format的幫助檔案。
一種是使用了符號計算,得到的精確解,會出現分數。可以用vpa轉換為小數顯示。
如x=sym(1/2)
y=vpa(x)
具體可參看vpa的幫助檔案。
matlab如何將指數結果化為小數?
3樓:匿名使用者
先輸入:
format long g;或
format short g;
matlab解方程的結果為matrix是
i不是未知數,這裡是虛數解 原方程恐怕沒有實數解,至少matlab沒找出來,但解出一個虛數解 matlab解方程得出解後,後面乘個i是啥意思 說明解出了複數根,包含實部和虛部,虛部用 i 表示。如果都是複數根表明原方程無實際物理意義,如果有實數根,複數根可忽略。matlab解方程結果出現0.是什麼意...
matlab計算結果顯示a 1,但判斷語句a 1,返回值是0,為什麼會這樣,又沒辦法令a 1的返回值是
問題在於程式會計算1 2 3,雖然精度很高,但和我們用分數進行的計算並不一樣,min時出現的1其實是四捨五入而來的,而2 3 2 3則不存在四捨五入,所以他的結果就是1,要讓min情況下返回1,可以將2 3進行符號計算,這樣就不存在四捨五入了,比如 a min eval 1 3 1 sym 2 3 ...
用matlab顯示影象的問題,matlab中影象顯示函式
顯示成result的結果可能是你沒有變換,需要對三個分量進行分類,要對彩色影象進行變換,result a或者多進行幾次迴圈,直到分別得到r g b,出現了灰度影象不要著急,因為你的彩色資訊沒有了,進行一次彩色轉換就好了。下面是具體步驟 第一步 a imread d ebook lena.bmp 第二...